我目前有一个VPS,用作git服务器。
这个VPS受port-knocking,保护,这意味着我必须向特定端口发送一些数据包,然后才能连接到22个端口(用于SSH)。
我想我可以设置一个git 预推钩子,它触发端口敲门,这样git就可以连接到服务器并推送。
不幸的是,这个钩子不起作用。我就是这样做的:
vim .git/hooks/pre-push
echo "Foo"
[my port knocking command which works perfectly fine]
echo "Bar"chmod +x .git/hooks/pre-push
在运行git push时,不显示Foo或Bar。什么都没发生。
我猜,在运行预推钩子之前,git试图连接到远程服务器。
在执行任何操作之前,如何运行端口敲门命令?
如果有人能帮我解决这个问题,我会很高兴的:)
发布于 2017-02-22 21:25:48
在git知道它将推送什么之后,然后在与遥控器交谈之后执行吉特钩预推。
您可以设置git config core.sshCommand 'knock && ssh'以实现您想要的结果。关于它的工作原理,请参阅git配置core.sshCommand和宋承民的文档。
https://stackoverflow.com/questions/42389932
复制相似问题