この記事では、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
より安全です。