![ssh-keygen は root に対してのみ機能しますか?](https://rvso.com/image/515060/ssh-keygen%20%E3%81%AF%20root%20%E3%81%AB%E5%AF%BE%E3%81%97%E3%81%A6%E3%81%AE%E3%81%BF%E6%A9%9F%E8%83%BD%E3%81%97%E3%81%BE%E3%81%99%E3%81%8B%3F.png)
ssh-keygen -t rsa は、root ユーザーのみに設定した場合に機能しますか?
つまり、ローカル システムのユーザー名が salt で、上記のコマンドを使用してキーを生成し、リモート システムでキーを /root/.ssh authorized_keys に配置すると、これは機能します。
しかし、リモートシステムでは、キーが/home/natrium/.ssh authorized_keysに置かれている場合
それでもパスワードの入力を求められます。これは想定内の動作でしょうか、それとも上記の手順に何か間違いがあるのでしょうか。
ありがとう..
答え1
リモート システムの権限を確認します。
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys
ディストリビューションにインストールできるツールがあります (ubuntu/debian にはあります)。ssh コピー IDこれは次のことを実行します:
$ ssh-copy-id <remote>
それでも問題が解決しない場合は、オプション「-v」を指定して ssh を実行し、より詳細なメッセージを確認してください。
ロングバージョン:
#From client to server
client$ scp ~/.ssh/id_rsa.pub remote_server.org:
# next, setup the public key on server
server$ mkdir ~/.ssh
server$ chmod 700 ~/.ssh
server$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
server$ chmod 600 ~/.ssh/authorized_keys
server$ rm ~/id_rsa.pub
答え2
~sodium/.ssh/authorized_keys から / までの権限をチェックします。これらのいずれかが世界的に書き込み可能な場合、ssh キーは信頼されません。
キーを必要とするユーザーとして ssh-keygen を実行します。接続先のシステムで実行する必要があります。
ssh-copy-id は、ターゲット マシンからキーを使用するマシンに ID をコピーします。
答え3
答え4
キーを生成する場所は重要ではありませんが、キーを保存する場所は重要です。
あるマシンから別のマシンに SSH で接続する場合、秘密鍵は id_rsa として SSH 接続するアカウントの .ssh フォルダに保存されている必要があり、公開鍵は SSH 接続先のアカウントの .ssh/authorized_keys ファイルに保存されている必要があります。鍵はマシン用ではなくユーザー用です。そのため、鍵をインストールするアカウントによって大きな違いが生じます。
他に留意すべき点は、使用している SSH のバージョンです。私の理解では、SSH2 の場合、キーは .ssh/authorized_keys2 にあるはずです。
最後に、実際に何が起こっているかを確認するには、Lexsys の指示に従い、-v フラグを使用して詳細モードで ssh を実行するのが最善です。