我通过SSH手动部署网站,我在github/bitbucket中管理源代码.对于每个新站点,我当前正在服务器上生成一个新密钥对并将其添加到github/bitbucket,以便我可以从服务器中获取机会.
我遇到了capistrano的一个功能,使用本地机器的密钥对来拉取服务器的更新,这是 ssh_options[:forward_agent] = true
我怎么能做这样的事情并将我本地机器的密钥对转发到我正在进入SSH的服务器上,这样我就可以避免为每个新站点添加密钥到github/bitbucket.
Sat*_*har 55
事实证明这非常简单,完整的指南就在这里使用SSH转发
实质上,您需要创建一个~/.ssh/config文件(如果它不存在).
然后,添加主机(文件中的域名或IP地址并设置ForwardAgent yes)
示例代码:
Host example.com
ForwardAgent yes
Run Code Online (Sandbox Code Playgroud)
使SSH生活更轻松.
小智 23
填写(主机地址是您希望允许转发信用卡的主机的地址):
Host [host address]
ForwardAgent yes
Run Code Online (Sandbox Code Playgroud)如果您还没有运行ssh-agent,请运行它:
ssh-agent
Run Code Online (Sandbox Code Playgroud)从该命令获取输出并将其粘贴到终端中.这将设置需要设置的代理转发才能工作的环境变量.或者,您可以将此替换为步骤3:
eval "$(ssh-agent)"
Run Code Online (Sandbox Code Playgroud)将要转发的密钥添加到ssh代理:
ssh-add [path to key if there is one]/[key_name].pem
Run Code Online (Sandbox Code Playgroud)登录远程主机:
ssh -A [user]@[hostname]
Run Code Online (Sandbox Code Playgroud)从这里开始,如果您登录到另一台接受该密钥的主机,它将正常工作:
ssh [user]@[hostname]
Run Code Online (Sandbox Code Playgroud)要简单地使用默认身份(id_rsa),您可以使用以下几个命令:
ssh-add
ssh -A [username]@[server-address]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61994 次 |
| 最近记录: |