GCPインスタンスからローカルコンピュータにファイルをコピーしようとしていますが、powershellで「権限が拒否されました:(公開キー)」と表示されます。

GCPインスタンスからローカルコンピュータにファイルをコピーしようとしていますが、powershellで「権限が拒否されました:(公開キー)」と表示されます。

GCPインスタンスを作成し、kali linuxで秘密鍵と公開鍵を生成しました。 Kaliマシンを介してインスタンスにアクセスできるように、GCPのメタデータにキーを保存しました。その後、このGCPインスタンスのファイルをローカルコンピュータにコピーする必要があるため、powershellコマンドを使用します。 scp -i C:\Users\mymachine\OneDrive\Desktop\ myprivatekey GCPUser@GCP_IP:/home/GCPUser/lastname.txt c:\Users\mymachine ですが、公開鍵
権限が拒否されました。

答え1

GCPインスタンスにログインして実行して、journalctl -ru ssh.service最新のニュースを確認してくださいsshd。ログメッセージには、公開鍵認証の試みが拒否された理由を含める必要があります。

最も一般的な原因は、~/.sshディレクトリまたはauthorized_keysその中のファイルが十分に保護されていないためです。権限が他のユーザーにディレクトリに書き込むことを許可すると、ファイルが他の~/.sshユーザーによって悪意を持って挿入された可能性があると仮定して、そのsshdファイルauthorized_keysは無視されます。

権限を変更する方法がわからない場合は、実行して元の質問namei -l ~/.ssh/authorized_keys投稿に出力を追加してください。ファイルの権限、そのファイルがあるディレクトリ、親ディレクトリがすぐに表示されます。

良い結果は次のとおりです。

namei -l ~/.ssh/authorized_keys
f: /home/GCPUser/.ssh/authorized_keys
drwxr-xr-x root     root     /
drwxr-xr-x root     root     home
drwxr-xr-x GCPUser  GCPUser  GCPUser
drwx------ GCPUser  GCPUser  .ssh
-rw------- GCPUser  GCPUser  authorized_keys

関連情報