プロジェクトのgitリポジトリを設定しようとしていますが、毎回パスワードを再入力する必要がないようにsshキーを使用したいと思います。私は偶然にsshにコピー操作をさせる可能性を見つけましたが、ssh-copy-id
それは私にとってはうまくいかないようです。
$ ssh-copy-id -i git@server
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed:
"/c/Users/Me/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to
filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are
prompted now it is to install the new keys
git@server's password:
sh: 1: cannot create .ssh/authorized_keys: Permission denied
編集する:私は次のように問題を解決しました。 - su 経由で root にログイン -authorized_keys ファイルの所有権をchown git /home/git/.ssh/authorized keys
git に変更し、再び git にログイン - 最後に rw 権限を 600 via に変更し、chmod 600 ~/.ssh/authorized keys
キーを正常にコピーしました。
ベストアンサー1
アカウントが git のみで使用される場合、管理者はそのアカウントを制限されたアカウントに設定して git コマンドのみを実行できるようにすることをお勧めします。特に、gitアクセスはアカウントの資格情報と制限を変更するのに十分ではありません。これは~/.ssh/authorized_keys
ユーザーが書き込めないことによって行われます。通常、Web インターフェイスなどの資格情報を設定する帯域外メカニズムがあります。
管理者であれば、Gitアカウントの設定方法をより深く理解する必要があります。 SSHサーバーの設定を確認します(/etc/sshd_config
またはファイルがある場所を/etc/ssh/sshd_config
確認します(設定)。ファイルが見つかったら公開鍵を追加します。ファイルは行のリストにすぎず、各ファイルには通常公開鍵の直接コピーが含まれています。使用に関する制限事項(例:)ファイルの末尾に追加する必要があるかどうかを確認してください。authorized_keys
AuthorizedKeysFile
authorized_keys
.pub
command="git-shell" nopty no-agent-forwarding no-port-forwarding no-X11-forwarding