写点什么

Linux 之 ssh-agent 命令

用户头像
入门小站
关注
发布于: 刚刚

ssh 密钥管理器,ssh-agent 命令是一种控制用来保存公钥身份验证所使用的私钥的程序。ssh-agent 在 X 会话或登录会话之初启动,所有其他窗口或程序则以客户端程序的身份启动并加入到 ssh-agent 程序中。通过使用环境变量,可定位代理并在登录到其他使用 ssh 机器上时使用代理自动进行身份验证。


其实 ssh-agent 就是一个密钥管理器,运行 ssh-agent 以后,使用 ssh-add 将私钥交给 ssh-agent 保管,其他程序需要身份验证的时候可以将验证申请交给 ssh-agent 来完成整个认证过程。


我们认为你正在用 ssh key 做权限认证。为了避免你在启动 ssh agent 时重复输入密码,你可以输下面两个命令ssh-agent bash:启动 ssh agent,并把 bash 挂到上面ssh-add .ssh/id_rsa:添加私钥并由 ssh agent 保管,这样下次就不需要再输入密码了

命令语法

ssh-agent [-c | -s] [-d] [-a bind_address] [-t life] [command [arg ...]]ssh-agent [-c | -s] -k
复制代码

命令选项

  • -a bind_address:bind the agent to the UNIX-domain socket bind_address.

  • -c:生成 C-shell 风格的命令输出。

  • -d:调试模式。

  • -k:把 ssh-agent 进程杀掉。

  • -s:生成 Bourne shell 风格的命令输出。

  • -t life:设置默认值添加到代理人的身份最大寿命。

运行 ssh-agent

> ssh-agentSSH_AUTH_SOCK=/tmp/ssh-lWA15nOUhcYG/agent.26310; export SSH_AUTH_SOCK;SSH_AGENT_PID=26315; export SSH_AGENT_PID;echo Agent pid 26315;
复制代码


运行 ssh-agent,它会打印出来它使用的环境和变量。

使用-d 参数,运行调试模式

> ssh-agent -d
复制代码

使用-k 参数杀掉 ssh-agent 进程

> ssh-agent -k
复制代码

ssh-agent的使用场景

使用不同的密钥连接到不同的主机时,需要手动指定对应的密钥。ssh-agent 可以帮助我们选择对应的密钥进行认证,不用手动指定密钥即可进行连接。


当私钥设置了密码,我们又需要频繁的使用私钥进行认证时,ssh-agent 可以帮助我们免去重复的输入密码的操作。


原文链接:https://rumenz.com/rumenbiji/linux-ssh-agent.html

微信公众号:入门小站

发布于: 刚刚阅读数: 2
用户头像

入门小站

关注

还未添加个人签名 2020.01.18 加入

还未添加个人简介

评论

发布
暂无评论
Linux之ssh-agent命令