“Ssh-agent”的版本间的差异

来自linux中国网wiki
跳到导航 跳到搜索
第22行: 第22行:
 
之后再使用公钥认证就可以直接连接到目标主机:
 
之后再使用公钥认证就可以直接连接到目标主机:
 
</pre>
 
</pre>
 +
 +
 +
[[category:ops]] [[category:linux]]

2021年7月16日 (五) 14:05的版本

先将ssh-agent运行起来:

$ ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-GiORRAqMXEFt/agent.28161; export SSH_AUTH_SOCK;
SSH_AGENT_PID=28162; export SSH_AGENT_PID;
echo Agent pid 28162;

输出结果中明确说明了导出了几个环境变量,同时也可以知道ssh-agent使用Unix Domain套接字的方式监听在本机上以及其pid为28162。到时候可以直接使用kill 28162杀掉这个进程,更直接的方式是使用ssh-agent -k,它会根据当前的环境变量SSH_AGENT_PID来杀进程。


ssh客户端上运行ssh-agent后,就可以使用ssh-add命令向ssh-agent添加私钥(如果私钥使用了passhprase密码,则要求输入一次密码)。

$ ssh-add #现在这个命令就会添加所有的pri key了
$ ssh-add ~/.ssh/id_rsa_1
$ ssh-add ~/.ssh/id_rsa_2

默认会添加~/.ssh/下的所有私钥类文件(~/.ssh/id_rsa, .ssh/id_dsa, ~/.ssh/id_ecdsa, ~/.ssh/id_ed25519, ~/.ssh/identity),也可以指定要添加的文件。正如上面给出的示例。

ssh-add命令是查找当前环境变量SSH_AUTH_SOCK的值并发送添加请求给对应套接字的,所以这个套接字环境变量非常重要。

之后再使用公钥认证就可以直接连接到目标主机: