Linuxオペレーティングシステムを実行する2つのボードがあります。クライアントはラズベリーオペレーティングシステムを実行し、サーバーはubuntu18.04を実行しています。クライアントでは、次のコマンドを使用してSSHキーペアを生成します。
ssh-keygen
キーを保存するファイルを入力するように求められ、my_key を書きました。次にEnterを押してパスワードの空白を埋めました。 /home/asd/.ssh/my_keyと/home/asd/.ssh/my_key.pubの2つのファイルを作成します。
次のコマンドを使用します。
ssh-copy-id -i /home/asd/.ssh/my_key.pub client_username@hostname
公開鍵をサーバーにコピーしました。確認しましたが、これまですべてが正常です。サーバーに接続しようとすると、パスワードの入力を求められます。なぜ?
SSHキーペアを作成し、保存先の名前ファイルをデフォルト値(/home/asd/.ssh/id_rsa)で埋めると、パスワードを要求せずにサーバーに接続できます。キーを保存するために私のファイル名を選択したときに何かが間違っているのでしょうか?
編集:サーバーに接続するには、次のコマンドを使用しました。
ssh client_username@ip_server
答え1
@steeldriver ありがとうございます。これが私の問題を解決した答えです。デフォルトでは、デフォルト以外の名前でSSH鍵ペアを生成するときにSSHを使用してサーバーに接続するには、-iパラメーターを使用して公開鍵も指定する必要があります。
ssh username_server@host_server_ip -i path_to_public_key