[原]Linux使用密钥认证登录SSH
2009-05-08 17:59
751 查看
在网上类似的文章很多,我这篇主要描述如下几个过程:
1、putty 生成 public key 和 private key
2、将 public key 分发到Linux服务器上面,使putty可以使用密钥连接到Linux
3、将private key 导出成openssh private key格式,并分发给SecureCRT使用
4、将openssh private key分发到其它两台Linux,使他们互相信任
1、putty 生成 public key 和 private key
下载putty,这个不用说了吧。打开 PUTTYGEN.EXE
![](http://images.cnblogs.com/cnblogs_com/killkill/WindowsLiveWriter/SSHDSA_8EA2/image_thumb.png)
选好参数,点击 Generate ,然后不断晃动鼠标。
![](http://images.cnblogs.com/cnblogs_com/killkill/WindowsLiveWriter/SSHDSA_8EA2/image_thumb_1.png)
![](http://images.cnblogs.com/cnblogs_com/killkill/WindowsLiveWriter/SSHDSA_8EA2/image_thumb_2.png)
再分别点 Save public key 和 Save private key 将 public key 和 private key 保存到硬盘中。
2、将 public key 分发到Linux服务器上面,使putty可以使用密钥连接到Linux
用notepad打开public key,然后将base64那几行修改成一行,把头和尾巴的注释去掉。
修改成这样:
然后,把public key传到服务器上面,放在/root/.ssh/目录中,然后执行
然后修改 authorized_keys ,在刚刚添加的那段Base64字符串前面加上 ssh-rsa ,记住后面加个空格分开,大致如下:
重启一下 sshd 服务
下一步配置putty使用密钥登陆Linux,先配置登陆名:
![](http://images.cnblogs.com/cnblogs_com/killkill/WindowsLiveWriter/SSHDSA_8EA2/image_thumb_3.png)
在配置private key所在的目录:
![](http://images.cnblogs.com/cnblogs_com/killkill/WindowsLiveWriter/SSHDSA_8EA2/image_thumb_4.png)
当然连接服务期的地址,这些就不说了。
一切设置好之后,就可以连接到Linux了。
3、将private key 导出成openssh private key格式,并分发给SecureCRT使用
再次打开PUTTYGEN.EXE
![](http://images.cnblogs.com/cnblogs_com/killkill/WindowsLiveWriter/SSHDSA_8EA2/image_thumb_5.png)
点击 Load , 将刚才生成private key 文件Load进来。
![](http://images.cnblogs.com/cnblogs_com/killkill/WindowsLiveWriter/SSHDSA_8EA2/image_thumb_6.png)
然后,另存为 openssh private key 。
将public key 和 openssh private key 的名字修改为如下对应格式:
public key : [openssh private key name].pub
private key : [openssh private key name]
在
![](http://images.cnblogs.com/cnblogs_com/killkill/WindowsLiveWriter/SSHDSA_8EA2/image_thumb_7.png)
这个界面中点击 属性
![](http://images.cnblogs.com/cnblogs_com/killkill/WindowsLiveWriter/SSHDSA_8EA2/image_thumb_8.png)
在这个界面中,填入openssh private key的路径,如果上面public key和private key的名字不对应的话,就会报找不到文件。
一切设置妥当后,就可以连到Linux了。
4、将openssh private key分发到其它两台Linux,使他们互相信任
将openssh private key上传到 .ssh 目录中,并改名为 id_rsa ,然后重启 sshd 服务。
两台服务器都要这样做。
一切配置妥当后,两台Linux之间就可以通过密钥认证了。
测试方法如下:
如果不用输入密码证明OK啦。
1、putty 生成 public key 和 private key
2、将 public key 分发到Linux服务器上面,使putty可以使用密钥连接到Linux
3、将private key 导出成openssh private key格式,并分发给SecureCRT使用
4、将openssh private key分发到其它两台Linux,使他们互相信任
1、putty 生成 public key 和 private key
下载putty,这个不用说了吧。打开 PUTTYGEN.EXE
![](http://images.cnblogs.com/cnblogs_com/killkill/WindowsLiveWriter/SSHDSA_8EA2/image_thumb.png)
选好参数,点击 Generate ,然后不断晃动鼠标。
![](http://images.cnblogs.com/cnblogs_com/killkill/WindowsLiveWriter/SSHDSA_8EA2/image_thumb_1.png)
![](http://images.cnblogs.com/cnblogs_com/killkill/WindowsLiveWriter/SSHDSA_8EA2/image_thumb_2.png)
再分别点 Save public key 和 Save private key 将 public key 和 private key 保存到硬盘中。
2、将 public key 分发到Linux服务器上面,使putty可以使用密钥连接到Linux
用notepad打开public key,然后将base64那几行修改成一行,把头和尾巴的注释去掉。
---- BEGIN SSH2 PUBLIC KEY ---- Comment: "nhinc-rsa-key" AAAAB3NzaC1yc2EAAAABJQAAAIEAiCezXwYbY/gVl+B5JiPoEisVddQVrYnRWgiK rxgMBGL0H0ShWkmegyfvPW8OUVEhWLCHseYwzoK2KeIV7nvKGd+N/3VmB7huuYMT CLXJSISrxQb/wUl+/946PhGFZSncHKKbRfbn6gGJiMTZy+OX0seddoZZ8mskVkTL Kpydgd0= ---- END SSH2 PUBLIC KEY ----
修改成这样:
AAAAB3NzaC1yc2EAAAABJQAAAIEAiCezXwYbY/gVl+B5Ji................
然后,把public key传到服务器上面,放在/root/.ssh/目录中,然后执行
cat [public key file name] >> authorized_keys
然后修改 authorized_keys ,在刚刚添加的那段Base64字符串前面加上 ssh-rsa ,记住后面加个空格分开,大致如下:
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiCezXwYbY/gVl+B5Ji................
重启一下 sshd 服务
service sshd restart
下一步配置putty使用密钥登陆Linux,先配置登陆名:
![](http://images.cnblogs.com/cnblogs_com/killkill/WindowsLiveWriter/SSHDSA_8EA2/image_thumb_3.png)
在配置private key所在的目录:
![](http://images.cnblogs.com/cnblogs_com/killkill/WindowsLiveWriter/SSHDSA_8EA2/image_thumb_4.png)
当然连接服务期的地址,这些就不说了。
一切设置好之后,就可以连接到Linux了。
3、将private key 导出成openssh private key格式,并分发给SecureCRT使用
再次打开PUTTYGEN.EXE
![](http://images.cnblogs.com/cnblogs_com/killkill/WindowsLiveWriter/SSHDSA_8EA2/image_thumb_5.png)
点击 Load , 将刚才生成private key 文件Load进来。
![](http://images.cnblogs.com/cnblogs_com/killkill/WindowsLiveWriter/SSHDSA_8EA2/image_thumb_6.png)
然后,另存为 openssh private key 。
将public key 和 openssh private key 的名字修改为如下对应格式:
public key : [openssh private key name].pub
private key : [openssh private key name]
在
![](http://images.cnblogs.com/cnblogs_com/killkill/WindowsLiveWriter/SSHDSA_8EA2/image_thumb_7.png)
这个界面中点击 属性
![](http://images.cnblogs.com/cnblogs_com/killkill/WindowsLiveWriter/SSHDSA_8EA2/image_thumb_8.png)
在这个界面中,填入openssh private key的路径,如果上面public key和private key的名字不对应的话,就会报找不到文件。
一切设置妥当后,就可以连到Linux了。
4、将openssh private key分发到其它两台Linux,使他们互相信任
将openssh private key上传到 .ssh 目录中,并改名为 id_rsa ,然后重启 sshd 服务。
两台服务器都要这样做。
一切配置妥当后,两台Linux之间就可以通过密钥认证了。
测试方法如下:
ssh [remotehost] date
如果不用输入密码证明OK啦。
相关文章推荐
- Linux下使用Google Authenticator配置SSH登录动态验证码
- 使用一次性密码本通过 SSH 安全登录 Linux
- 安装、设置和使用SSH Secure shell 实现windows 登录linux
- [Linux]使用SSH-KEY方式登录SSH
- Linux 中无法使用 root 用户通过 SSH 远程登录解决方法
- windows 上用xshell使用 ssh自动登录linux
- SecureCRT使用本地公钥 SSH 免密码登录Linux
- Xshell使用密钥认证机制远程登录Linux
- linux---ssh使用ssh key登录,Permission denied (publickey,password).
- 使用SecureCRT设置linux系统登录的ssh公钥认证
- 使用xshell工具密钥认证登录Linux系统
- linux使用Python上秘钥远程登录ssh执行shell命令
- Linux使用ssh公钥登录
- 使用ssh远程登录linux
- Linux下使用Google Authenticator配置SSH登录动态验证码
- 使用XShell工具密钥认证登录Linux系统
- linux中ssh使用rsa免密码登录方法
- 使用Xshell密钥认证远程登录linux
- 【linux工具使用】无法使用ssh 登录ubuntu16.04的问题解决方案(root账户)
- 使用SSH客户端远程登录Linux主机(可替代samba、ftp服务)