GNU/Linux >> Linux の 問題 >  >> Linux

Linux でパスワードなしの SSH ログインをセットアップする方法

以下は、2 つの Linux システム間でのパスワードなしのログインの構成に関する短いメモです。プロセスには、基本的に、公開認証キーを生成し、それをリモート ホストの ~/.ssh/authorized_keys ファイルに追加することが含まれます。

認証キーの生成

SSH 認証キー ファイルが存在しない場合は、ssh-keygen を実行して生成します 指図。パスフレーズの入力を求めるプロンプトが表示されたら、完全にパスワードを使用しないログインが必要な場合は、空白のパスフレーズを使用してください:

# 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:
1e:b2:f4:89:5a:7f:2d:a5:a5:4d:6d:66:2c:82:d8:18 root@remote-host

公開鍵をリモート ホストにコピーします

ssh-copy-id を使用します コマンドを使用して、新しく生成された認証キーの公開半分をリモート ホスト上の特定のユーザーのホーム ディレクトリにインストールします。 ssh-copy-id コマンドは、ID 情報を ~/.ssh/authorized_keys に自動的に追加します。 リモートホスト上の指定されたユーザーのファイル (必要に応じて ~/.ssh および ~/.ssh/authorized_keys を作成します)。

# ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote-host
user@remote-hosts's password:

または、サーバーに openssh-clients (ssh-copy-id コマンド ユーティリティを提供するパッケージ) がインストールされていない場合は、次のコマンドで認証キーをコピーできます:

# cat ~/.ssh/id_rsa.pub | ssh user@remote-host "cat >> ~/.ssh/authorized_keys"

すべてが正しく設定されていれば、パスワードなしでリモート ホストにログインできるはずです。

トラブルシューティング

正しい権限を確認してください

キーベースの ssh 認証を機能させる際の問題の最も一般的な原因は、リモート ssh サーバーのファイルのアクセス許可です
上記の手順に従っても、適切なユーザーに ssh を実行してもパスワードの入力を求められる場合は、アクセス許可を調べてください。 ローカル ユーザーとリモート ユーザーの両方のファイル .ディレクトリのパーミッションは、以下に示すとおりである必要があります。ここに示す例は、ユーザー「oracle」の場合です

drwx------. 25 oracle oinstall 4096 Aug 21 11:01 /home/oracle/
drwx------.  2 oracle oinstall 4096 Aug 17 13:13 /home/oracle/.ssh
-rw-------.  1 oracle oinstall  420 Aug 17 13:13 /home/oracle/.ssh/authorized_keys

パーミッションが上記のとおりでない場合は、正しく設定してください:

# chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh/

変更を有効にするために sshd サービスを再起動してください:

# service sshd restart

SElinux を無効にする

SELinux は、sshd がサーバー上の ~/.ssh ディレクトリにアクセスするのを潜在的に防止することもできます。この問題は、restorecon を実行することで除外 (または解決) できます リモートユーザーの ~/.ssh ディレクトリで次のように:

# restorecon -Rv ~/.ssh


Linux
  1. LinuxでパスワードなしのSSHを設定する方法

  2. Linux で「パスワードなし」の ssh ログイン用に SSH キーをセットアップする方法

  3. CentOS/RHEL で「パスワードレス」SSH ログイン用の SSH キーをセットアップする方法

  1. パスワードなしでSSHログインを設定する方法

  2. LinuxでSSHポートを変更する方法

  3. Linux で SSH の「公開/秘密鍵」ログイン用の SSH キーをセットアップする方法

  1. Linux – SshからTtyにユーザーをログインさせる方法は?

  2. Linux でリバース SSH トンネルをセットアップする方法

  3. Linux / UNIX でのパスワードレス SSH の仕組み