この記事では、Secure Shell(SSH)公開鍵認証を設定する手順について説明します。
-
サーバーにログインします。
-
ユーザーが存在することを確認します:
`getent passwd <username>` -
AuthorizedKeysFileに割り当てられた値を検索します / etc / ssh / sshd_config内のパラメータ キーが保存されているファイルを特定するには:
`grep AuthorizedKeysFile /etc/ssh/sshd_config`注 :デフォルトの場所は〜/ .ssh / authorized_keys ユーザーのデフォルトのホームディレクトリ内。
-
ユーザーのホームディレクトリに切り替えます:
`cd /directory-path`注 :ディレクトリパスに置き換えてください ユーザーのホームディレクトリパスを使用します。
-
.ssh /のアクセス許可レベルを確認します ディレクトリ。
0700が必要です 権限があり、ユーザーが所有します。`ls .ssh`a。ディレクトリが存在しない場合は、ディレクトリを作成し、権限を
0700に設定します。 :`mkdir -m 700 .ssh`b。ディレクトリが存在する場合は、所有権を個別に設定できます:
`chmod 700 .ssh/` `chown -R username:username /path/to/home/.ssh` -
.ssh /に切り替えます ディレクトリとauthorized_keys ファイル:
```cd .ssh/ vim authorized_keys ll``` -
SSH公開鍵をauthorized_keysの最後に追加します ファイル:
`vim authorized_keys` -
権限を
600に変更します ファイルの適切な所有権を確認します:`chmod 600 authorized_keys` `chown -R username:username authorized_keys`
すべてのユーザーがパスワードではなく公開鍵でログインできるようにする場合は、パスワード認証を無効にすることができます。
重要 :SSH認証がアカウントに設定されていない場合、パスワード認証を無効にすると、パスワードを使用してサーバーにアクセスしたユーザーがロックされます。
-
sshd_configのバックアップを作成します 変更を加える前にファイルする:
mkdir /home/username/backup cp /etc/ssh/sshd_config /home/username/backup/sshd_config.bak -
sshd_configを開きます ファイル:
`vim /etc/ssh/sshd_config` -
PubkeyAuthenticationを見つけます パラメータを設定し、yesに設定します。行にコメントが付いている場合は、コメントインジケーター(
#)を削除します 。 -
PasswordAuthenticationを検索します 同じファイル内のパラメータを
noに設定します 。 -
変更をファイルに保存して、ファイルを終了します。
-
sshd -tを使用して構文を確認します 。エラーがない場合は、sshdをリロードします :`service sshd reload`
追記:
- ローカルワークステーション(クライアント側)の秘密鍵ファイルには、
600に設定されたアクセス許可が必要です。 、および .ssh ディレクトリの権限を700に設定する必要があります 。 Authorized_keysファイルは644でも機能します 権限、ただし600より安全です。