您的位置:首页 > 运维架构 > Linux

[原]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





选好参数,点击 Generate ,然后不断晃动鼠标。









再分别点 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,先配置登陆名:





在配置private key所在的目录:





当然连接服务期的地址,这些就不说了。

一切设置好之后,就可以连接到Linux了。

 

3、将private key 导出成openssh private key格式,并分发给SecureCRT使用

再次打开PUTTYGEN.EXE





点击 Load , 将刚才生成private key 文件Load进来。





然后,另存为 openssh private key 。

将public key 和 openssh private key 的名字修改为如下对应格式:

public key  :  [openssh private key name].pub

private key : [openssh private key name]







这个界面中点击 属性





在这个界面中,填入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啦。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: