Linux/基本設定/ssh

sshd (ssh サーバー)

インストール

sudo apt install openssh-server

設定

/etc/ssh/sshd_config ファイルの設定変更ポイントを以下に記します。 /etc/ssh/sshd_config ファイルの設定変更ポイントを以下に記します。

  1. Port (default:22)
    # 変更しておくと、気休め程度であるがセキュリティUP
    # 変更した場合、クライアント側はポート番号を明示的に指定する必要があります。
    Port [任意のポート番号]
  2. PermitRootLogin
    # no を指定して、root ログインを拒否します。
    # ※きちんと一般ユーザーでログインが可能であること、
    # su または、sudo コマンドでルート権限での操作が可能であること
    # を確認した上で設定してください。
    #
    # 以下のオプションも指定可能であるが、基本的に no を設定しましょう。
    # without-password     : パスワード認証の場合だけ拒否
    # forced-commands-only : 公開鍵認証でパスフレーズが設定されている場合のみ許可
    PermitRootLogin no
  3. PasswordAuthentication
    # パスワードのみによる認証を無効化する。
    PasswordAuthentication no
  4. ChallengeResponseAuthentication
    # チャレンジレスポンス認証を無効にする。
    # PasswordAuthentication だけを no にしても、チャレンジレスポンス形式の
    # パスワードによる認証機能が無効化されないため、
    # パスワードのみによる認証を無効化したい場合、本設定も no にする。
    ChallengeResponseAuthentication no

ユーザーが ssh で接続するための設定

  1. ssh 接続のための秘密鍵と公開鍵を生成します。
    ssh-keygen -t ed25519 -C [メールアドレスなどのコメント]
    ※ 画面の指示に従い、key の保存場所、パスフレーズ(省略可)を設定します。
    ※ id_ed25519, id_ed25519.pub ファイルが生成されます。
    ※ RSA の場合は、ssh-keygen -t rsa -b 4096 -C [メールアドレスなどのコメント] で生成します。
    ※ RSA の場合は、~/.ssh 配下に、id_rsa, id_rsa.pub が生成されます。
  2. *.pub ファイルを .ssh/authorized_keys に追記します。
    cat ~/.ssh/*.pub >> .ssh/authorized_keys
  3. ファイルアクセス権限を変更します。
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/*
  4. 接続する端末は、~/.ssh/id_ed25519 (RSA の場合は、~/.ssh/id_rsa) を用いて接続します。

★本来は・・・

  1. クライアント端末で、秘密鍵と公開鍵を生成します。
  2. 公開鍵をサーバーに送付します。(公開鍵は漏れても問題ない)
  3. 公開鍵の情報をサーバーの ~/.ssh/authorized_keys に追記します。
  4. /.ssh/authorized_keys の権限を、他ユーザーが変更できないよう 600 の権限とします。

トップ   差分 バックアップ リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS