OSと同じようにUbuntu 16.04
を備えたLinode
サーバーがあります。サーバーは私の内部チーム用です。 github、bitbucket、gitlabでホストされているリポジトリがあります。サーバー管理者のみがサーバーにアクセスできます。
すべてのユーザーに対してssh keys
を生成し、それらをgitプロバイダーに追加して、リポジトリのクローンを作成しました。
サーバーでgitpullを実行すると、常にメインキーファイルのメインパスフレーズが要求されます
Enter passphrase for key '/root/.ssh/id_rsa':
パスフレーズを入力すると、Permission denied error
と表示されます
パスワードなしのキーペアを生成する必要があります(ssh-keygenがパスワードを要求するときに[Enter]を押すだけです)。また、サーバーがプルのみを実行する場合は、リポジトリ側でサーバーの権限を「読み取り専用」に制限する必要があります。これにより、キーが危険にさらされた場合に、誰かがリポジトリを損傷したり、さらに悪いことにバックドアを追加したりすることがなくなります。コード。
複数のキー(github、bitbucket、gitlabのそれぞれに1つ)があり、gitが1つしか使用しないことが問題である場合は、サーバーごとに異なるキーを指定するように〜/ .ssh/configを設定する必要があります。 :
Host github.com
IdentityFile ~/.ssh/id_rsa_github
User someuser
ただし、その場合でもパスワードなしのキーが必要です。