ssh-copy-id権限が拒否されました。

ssh-copy-id権限が拒否されました。

プロジェクトの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 keysgit に変更し、再び 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_keysAuthorizedKeysFileauthorized_keys.pubcommand="git-shell" nopty no-agent-forwarding no-port-forwarding no-X11-forwarding

答え2

このエラーを検索すると、最初の検索結果にこの質問が表示されたため、解決策も追加します。

私の知る限り、許可とは何の関係もありません。何らかの理由で(実際にはクイックフィックスを見つけたため、調べようとしませんでした)、プログラムはsshコマンドを実行したときに正しいIDファイルを見つけませんでした。 1つの回避策は、SSHプログラムが使用したいリモートサーバーにSSHキーを追加することです。コマンドに-vを追加すると、コマンドを実行したときにSSHプログラムが実行する操作を観察できます。

ssh -v username@your-host-ip-or-domain 

その後、SSHプログラムはローカルコンピュータ(Macなど)で使用したい公開鍵を取得します。

cat ~/.ssh/id_rsa.pub

...これをリモコンのAuthorized_keysファイルに追加します。

~/.ssh/authorized_keys

私の場合のもう一つのより良い解決策は、ローカルSSH設定ファイルにカスタムホストを追加することです。私のMacでは、次のようになります。

/Users/my-user-name/.ssh/config

たとえば、ここに次の内容を追加できます。

Host mynewserver
        HostName some.IP.number.or.domain
        Port 20000 #if custom port is used and not the default 22
        User the_root
        PreferredAuthentications publickey
        IdentityFile ~/.ssh/id_rsa_for_my_new_server

次に、次を実行します。

ssh mynewserver

...チャジャン

答え3

「A」と「B」という2台のコンピュータがあるとし、Aから「B」に接続しようとしています。

したがって、マシンBで次のことを行います。

vi /etc/ssh_sshd_config

次に、この2行を検索して以下のように変更します。

PasswordAuthentication yes

PermitRootLogin yes

次に、「B」システムでsshdサービスを再起動します。

service sshd restart

これで、「A」システムから「B」システムにキーをコピーすると、正しく機能することを願っています。

ssh-copy-id [email protected]

関連情報