LinuxでSSHパスワードなしのログインを設定するには?

LinuxでSSHパスワードなしのログインを設定するには?

私のRaspberry Piは、SSHが有効になっているデフォルトのDebianイメージを実行しています。次のようにPiにログインします。

ssh pi@<IP-address-of-my-Pi>

毎回パスワードを入力する必要があります。私のPiに自分のローカルコンピュータのログインを許可させることはできますか?私はFedora Linuxを使用しています。

答え1

はい、SSHを使用してRaspberry Piに自動的に認証できます。

前提条件として、以下が必要です。

Linux

Linuxでは、パッケージマネージャを介してSSHをインストールし、を使用してキーペアを作成し、を使用ssh-keygenしてキーをPiにコピーしssh-copy-id、を使用してテストできますssh

LinuxへのSSHのインストール

ほとんどのLinuxディストリビューションにはSSHクライアントがプリインストールされています。何らかの理由でパッケージがない場合は、パッケージマネージャを使用してインストールしてください。

RPMベースのLinuxディストリビューション(FedoraやSuseなど)の場合:

sudo yum install ssh

DEBベースのLinuxディストリビューション(DebianやUbuntuなど)の場合:

sudo apt-get install ssh

Linuxでキーペアを生成する

まず、公開/秘密鍵のペアが必要です。したがって、キーペアがない場合は、次のコマンドを実行してデフォルト設定を使用してキーペアを生成します。

$ ssh-keygen
generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
24:55:ee:67:83:72:82:55:5f:b9:b4:09:2a:fa:56:a1 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|         +    .  |
|        S    E   |
|         .  + +  |
|          .o . o.|
|         o.oo. oo|
|          ==o.BO+|
+-----------------+

公開鍵をLinuxのPiにコピーする

次に、生成された公開鍵をパスワードなしでログインしたいコンピュータにコピーする必要があります。したがって、コンピュータからPiにアクセスできるユーザーとして次のコマンドを実行します。

$ ssh-copy-id pi@<IP-address-of-your-Pi>
Password:
Now try logging into the machine, with "ssh 'pi@<IP-address-of-your-Pi>'", and check in:
  .ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.

LinuxでSSH経由でPiに接続する

最後に、SSHを使用してログインし、パスワードが不要であることを確認します。

$ ssh pi@<IP-address-of-your-Pi>

答え2

コピーするファイルの権限を確認して、SSHで接続したいユーザーにそのファイルを読み取る権限があることを確認してください。

関連情報