ssh-add 配合 ssh-agent 免密登陆多台机器

生成

ssh-keygen -t rsa -S "liuweitao0819@126.com"

 

ssh-add
@(ssh)

ssh-add命令是把专用密钥添加到ssh-agent的高速缓存中。该命令位置在/usr/bin/ssh-add。

-D:删除ssh-agent中的所有密钥.
-d:从ssh-agent中的删除密钥
-e pkcs11:删除PKCS#11共享库pkcs1提供的钥匙。
-s pkcs11:添加PKCS#11共享库pkcs1提供的钥匙。
-L:显示ssh-agent中的公钥
-l:显示ssh-agent中的密钥
-t life:对加载的密钥设置超时时间,超时ssh-agent将自动卸载密钥 -X:对ssh-agent进行解锁
-x:对ssh-agent进行加锁

1、把专有密钥添加到 ssh-agent 中

ssh-add ~./ssh/id_dsa
1
2、从 ssh-agent 中删除密钥

ssh-add -d ./ssh/id_xxx.pub
1
3、查看 ssh-agent 中的密钥

ssh-add -l
1
ssh-agent
用于管理 ssh private keys,目的是对解密的私钥进行高速缓存。
ssh-add 提示并将用户使用的私钥添加到 ssh-agent 维护列表中,此后当公钥连接到远程 SSH 或 SCP 主机时,不再提示信息。

启动 ssh-agent
# ssh-agent
1
2
示例
三台服务器 centos7,centos72,centos73
ip 192.168.32.161、32.163、32.164

# ssh-keygen
centos7 生成密钥,一路回车,复制公钥到 centos72、centos73 的 .ssh/authorized_keys.
修改 authorized_keys 权限为 600

添加ssh-add 如果 出现  

Could not open a connection to your authentication agent.

执行  

ssh-agent bash

[root@centos7 .ssh]# ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-WQpbjjWuLKye/agent.2495; export SSH_AUTH_SOCK;
SSH_AGENT_PID=2496; export SSH_AGENT_PID;
echo Agent pid 2496;

[root@centos7 .ssh]# ssh-add
Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)

[root@centos7 .ssh]# ssh -A x163
Last login: Fri Aug 11 02:37:26 2017 from x1
[root@centos72 ~]#


[root@centos72 ~]# ssh -A 192.168.32.164
Last login: Fri Aug 11 02:36:41 2017 from 192.168.32.160
[root@centos73 ~]#

注意 ssh 到第一台server的时候,使用 -A 选项
ssh -A 开启认证代理连接转发功能
之后登陆其他 server 的时候,只支持 ip 地址访问,除非在 server 的 /etc/hosts 里面添加配置文件.
有没有 -A 选项均可登陆。
---------------------
作者:Citizen_Wang
来源:CSDN
原文:https://blog.csdn.net/cityzenoldwang/article/details/77097661
版权声明:本文为博主原创文章,转载请附上博文链接!

打赏 支付宝打赏 微信打赏

未经允许不得转载!

评论列表 0

访客
取消