一、检查是否已经存在ssh key
通常sshkey会默认生成在用户家目录下,所以查看家目录下是否存在.ssh 文件夹,以及是否存在相关目录就行。(~/.ssh/id_rsa)
二、生成key
在控制台输入:
ssh-keygen -t rsa
Note: -t 的意思是选择kye的type。分别有 RSA 和 DSA 两种。具体请自行百度
控制台输出如下:
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory ‘/root/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
(为了避免每次进行ssh连接时都需要输入passphrase,这里可以不用输入passphrase。)
现在你的私钥被放在了~/.ssh/id_rsa 这个文件里,而公钥被放在了 ~/.ssh/id_rsa.pub 这个文件里。
三、使用ssh key
使用ssh key的目的是使得两台机器之间建立互信,从其中一台登陆到另一台时不需要密码。具体方式如下:
1、先在主机A上创建密钥对
ssh-keygen -t rsa
这时可以在主机A上看到生成的秘钥~/.ssh/id_rsa 和公钥 ~/.ssh/ id_rsa.pub
2、把主机A的公钥放在主机B上
scp -r /root/.ssh/id_rsa.pub 192.168.31.147:/root/.ssh/authorized_keys
这里解释下scp命令:
不同的Linux之间copy文件常用有3种方法:
第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy。
第二种方法就是采用samba服务,类似Windows文件copy 的方式来操作,比较简洁方便。
第三种就是利用scp命令来进行文件复制。
scp是有Security的文件copy,基于ssh登录。操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上,可以如下命令。
scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root
然后会提示你输入另外那台172.19.2.75主机的root用户的登录密码,接着就开始copy了。
3、此时用A登陆B就不需要密码了
ssh B_ip
同理可应用于B 登陆A
四、SSH详解 1、SSH 的结构
SSH是由客户端和服务端的软件组成的,有两个不兼容的版本分别是:1.x和2.x。 用SSH 2.x的客户程序是不能连接到SSH 1.x的服务程序上去的。OpenSSH 2.x同时支持SSH 1.x和2.x。
服务端是一个守护进程(daemon),他在后台运行并响应来自客户端的连接请求。服务端一般是sshd进程,提供了对远程连接的处理,一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接。
客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。
他们的工作机制大致是本地的客户端发送一个连接请求到远程的服务端,服务端检查申请的包和IP地址再发送密钥给SSH的客户端,本地再将密钥发回给服务端,自此连接建立。SSH 1.x和SSH 2.x在连接协议上有一些差异。
一旦建立一个安全传输层连接,客户机就发送一个服务请求。当用户认证完成之后,会发送第二个服务请求。这样就允许新定义的协议可以与上述协议共存。连接协议提供了用途广泛的各种通道,有标准的方法用于建立安全交互式会话外壳和转发(“隧道技术”)专有 TCP/IP 端口和 X11 连接。
SSH被设计成为工作于自己的基础之上而不利用超级服务器(inetd),虽然可以通过inetd上的tcpd来运行SSH进程,但是这完全没有必要。启动SSH服务器后,sshd运行起来并在默认的22端口进行监听(你可以用 # ps -waux | grep sshd 来查看sshd是否已经被正确的运行了)如果不是通过inetd启动的SSH,那么SSH就将一直等待连接请求。当请求到来的时候SSH守护进程会产生一个子进程,该子进程进行这次的连接处理。
2、SSH 的启动与停止
首先确保ssh服务已经安装
检查服务是否已经启动
ps -e | grep sshd
启动、停止、重启服务
service sshd start 开启ssh服务
service sshd stop 停止ssh服务
service sshd restart 重启ssh服务
或者使用带有路径的脚本:
/etc/init.d/sshd start
/etc/init.d/sshd stop
/etc/init.d/restart
配置ssh-server,配置文件位于/etc/ssh/sshd_config,默认端口为22,为了安全,一般自定义为其他端口,然后重启
相关推荐
sshkey 是放在服务器端,这样pull commit push就无需输入密码,这里提供个教程
将生成的公有密钥转化为设备所需要的字符串
以Freemarke,Displaytag作为模版引擎,通过数据模型(原有的表注释,字段注释)生成基础的功能模型,同时生成一部分典型的可运行、可测试的业务功能代码和配置信息(如strtus配置文件,spring配置文件)。 JSmart同时...
简单记录了CENTOS6中GIT安装,ssh-keygen生成,客户端使用TortoiseGit加载KEYGEN连接GIT服务器的过程。
生成ssh key并分发到其他机器上,在filelist文件中填入主机IP(一行一个IP),然后运行install.sh即可。
ssh代码生成工具
ssh免密key生成,shell脚本(centos,redhat)
Linux制作RSA KEY并配置SSH客户端或服务器免密码访问
使用纯Ruby生成专用和公用SSH密钥(支持RSA和DSA)。 要求 在CRuby 2.0.0+和JRuby上测试/受支持。 安装 gem install sshkey 用法 生成一个新密钥 生成新的密钥对时,默认密钥类型为2048位RSA,但是您可以在选项中...
附件中包含putty工具和生成putty key所需的puttygen工具,连接ssh是使用key比较方便,可以免去输入密码的麻烦,本人使用这个工具连接Amazon EC2的instance还是比较方便的。
该文档适用于小白使用,讲述了在遇到问题时,如何添加SSH key。
创建一个SSH KEY ssh-keygen -t rsa 命令行出现: 询问你输入SSH KEY的文件名,默认是id_rsa/id_rsa.pub Enter file in which to save the key (/root/.ssh/id_rsa): 询问你输入密码,记住passphras
生成的key是和一对用户绑定的,生成key的用户以及存储这个key的公钥的远端主机的用户。ssh的原理就是,公钥给人家,自己留秘钥,远端主机的其他用户也是无法看到这个指定的用户的接受到的公钥的,所以用户是一对一的...
在生成SSH密钥之前,您将需要使用install_requirements.py脚本安装所需的模块。 下载脚本并将其放置在桌面上 打开一个终端 输入“ cd Desktop” 执行“ install_requirements.py”脚本 ./install_requirements.py ...
在线生成 ssh 密钥 此脚本有助于在网站上生成 ssh 密钥(私人和公共)。
使用ENSP做交换机,路由器SSH使用密钥登陆试验时,需要将电脑生成的RSA公钥上传到网络设备里,由于ENSP里的网络设备只支持加密格式的公钥,而使用putty,secureCRT等软件生成的密钥都是openssh格式的,因些,需要此...
一直在用的功能超强JAVA代码生成器,SSH2框架代码生成,项目开发利器,强力缩短开发时间支持SQL,MYSQL ORACLE,附带有CDKEY生成器.绝对不后悔!觉得好,请给评论