LoginSignup
2
4

More than 3 years have passed since last update.

SSHのパスワード認証を無効化しみ機密キーでログイン

Posted at

やりたい事

レンタルサーバーを使っていると、攻撃されることがよくあり
SSHパスワード認証を無効化して機密キーだけでログインできるようにしたい。

注意点

何かあって接続設定がうまくいかない場合があるかも知れないため
セッションを1つぐらい残しておくこと

手順

  1. rsaキーを生成する
  2. 生成した公開キー、機密キーを取って置く
  3. 生成した公開キーを認証済みキーファイルに書き込む
  4. sshd_configファイルを編集し、キー認証を有効化・パスワード認証を無効化する
  5. private key指定でログインできることを確認する
  6. パスワードで接続できないことを確認する

rsaキーを生成する

※既に生成されている場合はスキップしてOK
Githubの説明を参照
https://help.github.com/en/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
# github 認証などに使えるので取って置く
cat ~/.ssh/id_rsa.pub
# ssh接続の認証に使うのはこちら!!!
cat ~/.ssh/id_rsa

public key => authorized_keysに書き込み

cd ~/.ssh
ls -la
cat id_rsa.pub > authorized_keys

sshd_config設定

場所
/etc/ssh/sshd_config

/etc/ssh/sshd_config
# rootのログインは個人のニーズによって設定していただく
PermitRootLogin yes

### 認証済みファイル
AuthorizedKeysFile .ssh/authorized_keys
# 認証方式設定
PasswordAuthentication no
PubkeyAuthentication yes

サービス再起動して設定を適用

# centos
systemctl restart sshd

確認

# パスワードでログインしようとすると、エラーになる
Disconnected: No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic)
# private key指定でログイン成功する

以上。

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4