Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git钩子和ssh代理转发_Git_Ssh_Hook_Forwarding_Ssh Agent - Fatal编程技术网

Git钩子和ssh代理转发

Git钩子和ssh代理转发,git,ssh,hook,forwarding,ssh-agent,Git,Ssh,Hook,Forwarding,Ssh Agent,我有一个带有git存储库的远程开发服务器 当我从本地机器推送到这个dev服务器时,它会在receive之后运行git钩子,以推送到heroku临时服务器上的development分支 我的身份被转发到开发服务器,下面是我的~/.ssh/config Host * User myuser ConnectTimeout 15 ServerAliveInterval 45 ForwardAgent yes IdentityFile ~/.ssh/id_rsa 如何让钩子使用它在h

我有一个带有git存储库的远程开发服务器

当我从本地机器推送到这个dev服务器时,它会在receive之后运行git钩子,以推送到heroku临时服务器上的development分支

我的身份被转发到开发服务器,下面是我的~/.ssh/config

Host *
  User myuser
  ConnectTimeout 15
  ServerAliveInterval 45
  ForwardAgent yes
  IdentityFile ~/.ssh/id_rsa
如何让钩子使用它在heroku上部署

目前,它不使用代理转发,而是使用开发服务器ssh标识。我们希望避免在服务器上使用ssh密钥,因为很多人都在推


非常感谢您的想法。

既然您是用您的用户myuser连接到开发服务器,git钩子也应该以myuser的身份运行

如果您尚未为usermyuser创建ssh密钥对,以便从开发服务器连接到heroku登台服务器,则需要这样做

<Login to your development server as myuser>
ssh-keygen -t rsa
<Upload the public key onto your heroku server's authorized_keys file>

就这些:)

所以我在shell会话的概要文件(例如profile或bashrc conf)中添加了它,它完成了这项工作

if [ ! -d /tmp/501 ]; then
  mkdir /tmp/501
  ssh-agent -a /tmp/501/ssh-agent.socket
fi

SSH_AUTH_SOCK=/tmp/501/ssh-agent.socket
export SSH_AUTH_SOCK
ssh-add ~/.ssh/id_rsa

希望这能帮助一些人if [ ! -d /tmp/501 ]; then mkdir /tmp/501 ssh-agent -a /tmp/501/ssh-agent.socket fi SSH_AUTH_SOCK=/tmp/501/ssh-agent.socket export SSH_AUTH_SOCK ssh-add ~/.ssh/id_rsa