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
2、从 ssh-agent 中删除密钥
ssh-add -d ./ssh/id_xxx.pub
3、查看 ssh-agent 中的密钥
ssh-add -l
ssh-agent
用于管理 ssh private keys,目的是对解密的私钥进行高速缓存。
ssh-add 提示并将用户使用的私钥添加到 ssh-agent 维护列表中,此后当公钥连接到远程 SSH 或 SCP 主机时,不再提示信息。
启动 ssh-agent
# ssh-agent
示例
三台服务器 centos7,centos72,centos73
ip 192.168.32.161、32.163、32.164
# ssh-keygen
centos7 生成密钥,一路回车,复制公钥到 centos72、centos73 的 .ssh/authorized_keys.
修改 authorized_keys 权限为 600
[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 选项均可登陆。