2017-02-22 8 views
4

私は現在gitサーバとして使用しているVPSを持っています。git pushの前にポートをノッキングする

このVPSはポートノッキングで保護されています。つまり、22ポート(SSHで使用)に接続するには、特定のポートにパケットを送信する必要があります。

私はgitを設定できると思っていましたpre-pushフックは、ポートノッキングを引き起こし、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

どちらFooのまたはバーが表示されます。何も起こりません。

私はGitは事前にプッシュフックを実行する前に、リモートサーバに接続しようとしていることと思います。

ポートノッキングコマンドを実行するにはどうすればいいですか?アクションを実行するにはどうすればよいですか?誰もがこの問題で私を助けることができれば:) gitのは、それがプッシュするため、リモートに話をした後にどうなるかを知っていた後

+0

プッシュシーケンスのエイリアスを作成しないでください。プッシュ..だから、 'kpush'のような特別な名前が必要ですが... –

+0

はい、それはあまり便利ではありません。 – Saumon

答えて

3

git hook pre-pushが実行される

は私が幸せになると思います。

git config core.sshCommand 'knock && ssh'を設定して、必要なものを達成することができます。この仕組みについては、git config core.sshCommandenvironment variable GIT_SSHCOMMANDのドキュメントを参照してください。

+0

この説明をありがとう!これは非常にうまく動作します:) – Saumon