Linux之ssh-agent命令

举报
入门小站 发表于 2021/09/04 23:10:07 2021/09/04
【摘要】 ssh密钥管理器,ssh-agent命令是一种控制用来保存公钥身份验证所使用的私钥的程序。ssh-agent在X会话或登录会话之初启动,所有其他窗口或程序则以客户端程序的身份启动并加入到ssh-agent程序中。通过使用环境变量,可定位代理并在登录到其他使用ssh机器上时使用代理自动进行身份验证。其实ssh-agent就是一个密钥管理器,运行ssh-agent以后,使用ssh-add将私钥交...

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-agent
SSH_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
微信公众号:入门小站

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。