标签:ssh登录 添加 配置环境变量 normal 退出 还需 pass shel pre
ssh-add 参数
| 
 -l  | 
 查看代理中的私钥  | 
| -L | 
 查看代理中私钥对应的公钥  | 
| 
 -D  | 
 移除所有代理中的私钥  | 
| 
 -x  | 
 锁定ssh代理 需要指定密码  | 
| 
 -X  | 
 解锁ssh代理  | 
ssh-agent是代理,帮我们管理私钥,当创建的私钥与默认不一样的时候,通过ssh-agent管理
启动
ssh-agent $SHELL        #创建一个子bash,ssh-agent运行在子bash中,子bash退出,代理关闭
eval `ssh-agent`        #单独启动了一个 ssh-agent程序,关闭使用 ssh-agent -k
关闭
ssh-agent -k
当创建的私钥不是默认名称时,ssh无法直接登陆,ssh默认使用默认私钥
[root@2-128 .ssh]# ll /root/.ssh/
total 12
-rw------- 1 root test1 1679 Nov 18 20:31 id_rsatest
-rw-r--r-- 1 root test1  392 Nov 18 20:31 id_rsatest.pub
[root@2-128 .ssh]# ssh-copy-id -i /root/.ssh/id_rsatest.pub -p1210  root@106.13.61.137
#当ssh登录时还是需要密码
[root@2-128 .ssh]# ssh -p1210 root@106.13.61.137
root@106.13.61.137‘s password: 
[root@2-128 .ssh]#  
#还需要指定私钥
[root@2-128 .ssh]# ssh -p1210 -i /root/.ssh/id_rsatest root@106.13.61.137
[root@bdserver ~]# 
使用ssh-add将私钥添加到代理程序中,再次直接登录就ok了
[root@2-128 .ssh]# eval `ssh-agent`
Agent pid 26764
 
[root@2-128 .ssh]# ssh-add /root/.ssh/id_rsatest
Identity added: /root/.ssh/id_rsatest (/root/.ssh/id_rsatest)
[root@2-128 .ssh]# 
[root@2-128 .ssh]# ssh -p1210  root@106.13.61.137
[root@bdserver ~]# logout
Connection to 106.13.61.137 closed.
cd /root && git clone https://github.com/funtoo/keychain.git
cd /root/keychain && make && mv keychain /usr/bin/ && source /etc/profile
| 
 keychain -k mine  | 
 只停止 keychain 启动的代理程序  | 
| 
 keychain /root/.ssh/id_rsa  | 
 添加私钥到代理  | 
| 
 keychain --clear  | 
 清理所有秘钥  | 
| 
 keychain --clear /root/.ssh/id_rsa  | 
 清理 id_rsa 这个私钥  | 
将下面这句,配置到环境变量,我使用的是zsh
vim /root/.zshrc 配合到末尾即可
eval `keychain --eval --agents ssh id_rsa_mayun`
eval `keychain --eval --agents ssh id_rsa`
这里的意思是将id_rsa_mayun 和is_rsa 私钥 添加到ssh-agent中管理
注:
标签:ssh登录 添加 配置环境变量 normal 退出 还需 pass shel pre
原文地址:https://www.cnblogs.com/snuglove/p/12655450.html