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

来源:互联网 发布:网络语鬼畜什么意思 编辑:程序博客网 时间:2024/06/12 21:42

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-keygencentos7 生成密钥,一路回车,复制公钥到 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-addIdentity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)[root@centos7 .ssh]# ssh -A x163Last login: Fri Aug 11 02:37:26 2017 from x1[root@centos72 ~]#[root@centos72 ~]# ssh -A 192.168.32.164Last 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 选项均可登陆。