live
ブランチがプッシュされたときにライブサーバーにデプロイする開発gitサーバーがあります。すべてのユーザーは独自のログインを持っているためpost-receive
、ライブ展開を行うフックは自分のユーザーの下で実行されます。
ユーザーの公開鍵をリモートライブサーバーの承認済みキーとして維持する必要がないので、リモートライブサーバーに追加するgitシステムに「属している」一連のキーを作成しました(post-receive
使用しているフック内でオプションで$GIT_SSH
秘密鍵を設定し-i
ます)。
私の問題は、すべてのユーザーが展開してライブにしたいと思う可能性があるため、gitシステムの秘密鍵は少なくともグループが読み取り可能である必要があり、SSHは本当にこれを好まないということです。
エラーのサンプルは次のとおりです。
XXXX@XXXX /srv/git/identity % ssh -i id_rsa XXXXX@XXXXX
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0640 for 'id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: id_rsa
私はsshに接続を強制的に通過させる方法で何かを見つけることを期待して周りを見回しましたが、1人のユーザー以外にはアクセスを許可すべきでないと盲目的に言っている人しか見つかりませんでした。