Last-modified: 2019-08-12 (月) 04:03:12
SSH/Debianへのインストール

概要

公開鍵暗号方式による認証のみを許可するSSH接続を実現します。
インストールし別端末からログイン出来るようにするまでの手順を示します。

サーバー手順1

  1. sshをインストールします。
    Everything is expanded.Everything is shortened.
      1
    
     
    
    apt-get install ssh
  2. /etc/ssh/sshd_configを編集します。
    sshd_configは同設定値の上書きをしない挙動をするため、以下の設定がすでにある場合はコメントアウトする
    (もしくは以下の設定を先頭に入れるか、既存のsshd_configを消して置き換える方法もあるが、いずれもリスクがある)
    Everything is expanded.Everything is shortened.
      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
     23
     24
    
    -
    |
    !
    -
    !
    -
    |
    !
    -
    !
     
    -
    !
    -
    !
    -
    !
    -
    !
     
    -
    |
    |
    !
    
    # カスタム設定
    # ポート
    Port <任意>
    # 接続可能アドレス(IPv6での待ち受けが必要なら有効にする) 
    ListenAddress 0.0.0.0
    #ListenAddress ::
    # 許可ユーザー
    AllowUsers <許可ユーザー名>
    # フォワード禁止
    AllowTcpForwarding no
    X11Forwarding no
    # ログレベル
    LogLevel VERBOSE
    # rootでのログイン禁止
    PermitRootLogin no
    # 空パスワード禁止
    PermitEmptyPasswords no
    # パスワード認証禁止
    PasswordAuthentication no
    ChallengeResponseAuthentication no
    # ssh1禁止(Deprecated option)
    #RSAAuthentication no
    # ssh2許可
    PubkeyAuthentication yes
  3. SSHサーバーを再起動します。
    Everything is expanded.Everything is shortened.
      1
    
     
    
    systemctl restart sshd

クライアント手順1

  1. puttygenを起動します。
  2. ECDSA 256bit以上(古いクライアントで接続する可能性があるなどの場合は、RSA 3072bit以上)を選択します。
  3. [Generate]ボタンを押します。
  4. マウスを動かし続けてキーを作成します。
  5. パスフレーズを入力します。
  6. [Save public key]ボタンを使い、公開鍵を保存します。(以降「hoge.pub」)
  7. [Save private key]ボタンを使い、秘密鍵を保存します。(以降「hoge.ppk」)
  8. 何かしらの手段でサーバーへ公開鍵を渡します(shell, sftp, etc...)。
    Everything is expanded.Everything is shortened.
      1
      2
    
     
     
    
    mkdir ~/.ssh
    chmod 700 ~/.ssh
  9. [.ssh]以下に先ほど作成した公開鍵(hoge.pub)を移動します。

サーバー手順2

  1. 公開鍵の変換を行い登録します。
    Everything is expanded.Everything is shortened.
      1
      2
    
     
     
    
    ssh-keygen -X -f ~/.ssh/hoge.pub >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
  2. /etc/ssh/sshd_configを編集します。
    Everything is expanded.Everything is shortened.
      1
      2
    
    -
    !
    
    # パスワードによるログイン禁止
    PasswordAuthentication no
  3. SSHサーバーを再起動します。
    Everything is expanded.Everything is shortened.
      1
    
     
    
    systemctl restart sshd

クライアント手順2

  1. 今まで作業していたSSHコンソールは残しつつ、新規に接続を開始します。
  2. PuTTYjpを起動します。
  3. [セッション]-[ホスト名]や、[SSH]-[認証]-[認証のためのプライベートキーファイル](hoge.ppk)を設定して接続します。
  4. ユーザ名を入力します。
  5. パスフレーズを入力します。

検証時の環境