![ssh-copy-id 公開鍵が拒否されました](https://rvso.com/image/1444049/ssh-copy-id%20%E5%85%AC%E9%96%8B%E9%8D%B5%E3%81%8C%E6%8B%92%E5%90%A6%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F.png)
公開 SSH キーを VPS にコピーして、 でログインできるようにしようとしていますssh
。
ただし、次のコマンドを入力すると:
ssh-copy-id me@myserver
このエラーメッセージが表示されます
/usr/local/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/local/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
Permission denied (publickey).
これを修正する方法を知っている人はいますか? 私は Mac を使用しています。
答え1
Camilo がすでに示唆しているように、リモート サーバーに適切な SSH 公開キーを手動で追加できます。
私の場合、SSH プログラムが ssh-copy-id の使用時に定義されたものと異なる ID ファイルを使用しようとしたとき、または定義された秘密鍵 / ID ファイルを見つけられなかったときに、同じエラーが発生しました。 -v を追加して ssh コマンドを実行すると、SSH プログラムが何を行うかを確認できます。
ssh -v username@your-host-ip-or-domain
次に、SSH プログラムが秘密鍵を試す公開鍵 (たとえば、Mac/Linux の場合のデフォルト キー) をローカル マシンから取得します。
cat ~/.ssh/id_rsa.pub
...そしてそれをリモートの authorized_keys ファイルに追加します:
~/.ssh/authorized_keys
もう 1 つの、私の場合さらに良い解決策は、ローカルの SSH 構成ファイルにカスタム ホストを追加することでした。私の Mac では次のようになります。
~/.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
...そして出来上がり
答え2
私も同じ問題を抱えていましたが、私の場合は手動で解決しました。このリンクで解決方法を見つけることができます。手動入力. この方法では、ペアキーを使用していても ssh 経由で接続できました。設定時に、.ssh/authorized_keys ファイルには初期マシンを指す別のキーが含まれていたので、その情報を初期マシンの /.ssh/id_rsa.pub に含まれる情報で上書きしました。