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

ssh免密码登录

2017-03-12 21:04 274 查看
Linux程式员在日常工作中都会遇见远程登陆这样的问题,每次输入密码是不是非常烦人.
在这整理一下,ssh证书到底是怎么搞的!在Linux下使用ssh认证,不输入密码访问另一台机器
 在工作中由于常用到ssh登录其他机器,所在每台机器上做了ssh认证,这样就不用每次都输入繁琐的密码。
有两台机器:server_1
和 server_2
账号都为:work
转到work账号下:su - work
运行:ssh-keygen -d (一路回车下去 )
命令输出为:

Enter file in which to save the key (/home/work/.ssh/id_dsa): 

Enter passphrase (empty for no passphrase): 

Enter same passphrase again: 

Your identification has been saved in /home/work/.ssh/id_dsa.

Your public key has been saved in /home/work/.ssh/id_dsa.pub.

The key fingerprint is:

32:21:e1:3b:7d:6e:de:4b:39:da:af:38:fe:90:40:61 work@server_1.server.com
在/home/work目录下就产生了.ssh的隐含目录,进入些目录下产生两个文件:

id_dsa           ------------      私钥文件

id_dsa.pub     ------------     公钥文件
同样在server_2上做以上操作(server_1与server_2之间互相免密码登录),下一步就实现真正的ssh认证了:
将server_1上/home/work/.ssh目录下的id_dsa.pub公钥文件拷到server_2的/home/work/.ssh目录下(注意:不要覆盖掉server_2的id_dsa.pub,拷时要改名)如:
代码:
[work@server_1 .ssh]$ scp /home/work/.ssh/id_rsa.pubwork@server_2:.ssh/server_1.pub
在server_2的/home/work/.ssh目录下就有了如下文件:

authorized_keys(#touch authorized_keys #chmod 600 authorized_keys)

id_dsa

id_dsa.pub

server_1.pub
用命令:cat server_1.pub >>authorized_keys
(注意一定要用追加操作 ">>"
不能用">")
这样server_1到server_2的ssh认证就做好了。在server_1上用命令:
代码:
ssh work@server_2
就直接登录到server_2上,而不用输入密码了。
server_2到server_1的认证同上操作即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux shell