1.4. 使用 ssh-agent 缓存 SSH 凭证
为了避免在每次发起 SSH 连接时输入密码短语,您可以使用 ssh-agent
实用程序为登录会话缓存 SSH 私钥。如果代理正在运行并且您的密钥被解锁,您可以使用这些密钥登录到 SSH 服务器,但不必再次输入密钥的密码。确保私钥和密语安全。
先决条件
- 您有一个运行 SSH 守护进程的远程主机,并可通过网络访问。
- 您知道登录到远程主机的 IP 地址或者主机名以及凭证。
您已用密码生成了 SSH 密钥对,并将公钥传送到远程机器。
详情请参阅 生成 SSH 密钥对 部分。
流程
添加命令,在您的会话中自动启动
ssh-agent
到~/.bashrc
文件:在您选择的文本编辑器中打开
~/.bashrc
,例如:$ vi ~/.bashrc
在文件中添加以下行:
eval $(ssh-agent)
- 保存更改,退出编辑器。
在
~/.ssh/config
文件中添加以下行:AddKeysToAgent yes
如果此选项和
ssh-agent
在会话中启动,代理仅在您第一次连接到主机时提示输入密码。
验证
登录到使用代理中缓存私钥对应的公钥的主机,例如:
$ ssh <example.user>@<ssh-server@example.com>
请注意您不必输入密码短语。