さくらVPSでSSH

さくらVPSのrootでのSSH接続を禁止する

さくらVPSの設定として、一般ユーザを作成してrootでのSSH接続を禁止しました。

◎一般ユーザの作成

  • 「sudo」コマンドが使える一般ユーザ「sakura」を作成しました。
    # useradd sakura
    # passwd sakura
    # usermod -G wheel sakura
  • iMaacのコンソールから、さくらVPS「XXXXXX.sakura.ne.jp」に一般ユーザ「sakura」でSSH接続できることを確認しました。
    $ ssh sakura@XXXXXX.sakura.ne.jp
    sakura@XXXXXX.sakura.ne.jp's password:

◎SSHのルートログインを禁止

  • SSH接続するためのアプリケーションとして「openssh」がインストールされていることを確認しました。

    # rpm -qa | grep ssh
    openssh-server-7.4p1-16.el7.x86_64
    openssh-7.4p1-16.el7.x86_64
    libssh2-1.4.3-12.el7_6.2.x86_64
    openssh-clients-7.4p1-16.el7.x86_64
  • 「/etc/ssh/sshd_config」を修正して、ルートでのSSH接続を禁止しました。
    # cd /etc/ssh/
    # cp sshd_config sshd_config.org
    # nano sshd_config
    • 修正内容は、PermitRootLoginのパラメータ を「yes」から「no」に変更しただけです。
      1
      2
      #PermitRootLogin yes
      PermitRootLogin no
  • systemctlコマンドで、さくらVPSのsshdを再起動しました。
    # systemctl restart sshd
  • 一旦ログアウトし、iMacのターミナルからrootでSSH接続が出来ないことを確認しました。
    # exit
    iMac27:~ $ ssh root@XXXXXX.sakura.ne.jp
    root@XXXXXX.sakura.ne.jp's password:
    Permission denied, please try again.
    root@XXXXXX.sakura.ne.jp's password:
  • 念の為、iMaacのコンソールから、さくらVPS「XXXXXX.sakura.ne.jp」に一般ユーザ「sakura」でSSH接続できることを確認しました。
    $ ssh sakura@XXXXXX.sakura.ne.jp
    sakura@XXXXXX.sakura.ne.jp's password:

◎firewallの設定(Port変更)

  • firewall-cmdでファイアウォールの設定を確認しました。sshは、デフォルトでサービス設定されていました。
    # firewall-cmd --list-all
    public (active)
      target: default
      icmp-block-inversion: no
      interfaces: eth0
      sources:
      services: dhcpv6-client http ssh https
      ports:
      protocols:
      masquerade: no
      forward-ports:
      source-ports:
      icmp-blocks:
      rich rules:
  • /etc/ssh/sshd_configを編集して、SSHサーバーのポートをデフォルト値(22)から変更(XXXXXX)しました。
    # cd /etc/ssh/
    # nano sshd_config
    • 「#Port 22」の下に「Port XXXXX」を追記しました。
      1
      2
      #Port 22
      Port XXXXX
  • firewall-cmdで古いSSHサーバーのポート(port=22/tcp)を閉じて、新しいSSHサーバーのポート(port=XXXXX/tcp)を解放するように設定しました。
    # firewall-cmd --permanent --remove-port=22/tcp
    success
    # firewall-cmd --permanent --add-port=XXXXX/tcp
    success
    #
  • systemctlコマンドで、firewalldを再起動しました。
    # systemctl restart firewalld
  • firewall-cmdで、新しいSSHサーバーのポート(ports: XXXXX/tcp)が追加されていることを確認しました。
    # firewall-cmd --list-all
    public (active)
      target: default
      icmp-block-inversion: no
      interfaces: eth0
      sources:
      services: dhcpv6-client http ssh https
      ports: XXXXX/tcp
      protocols:
      masquerade: no
      forward-ports:
      source-ports:
      icmp-blocks:
      rich rules:
  • systemctlコマンドで、sshdを再起動しました。
    # systemctl restart sshd
  • iMacのターミナルから古いSSHサーバーのポート(port 22)でログイン出来ないことを確認しました。
    $ ssh sakura@XXXXX.sakura.ne.jp
    ssh: connect to host XXXXX.sakura.ne.jp port 22: Connection refused
  • iMacのターミナルから新しいSSHサーバーのポート(port XXXXX)でログインしてsuコマンドでルートになることが出来ることを確認してSSHの設定を終了しました。
    $ ssh -pXXXXXX sakura@XXXXX.sakura.ne.jp
    sakura@XXXXX.sakura.ne.jp's password:
    $ su -
    パスワード:
    #
<= さくらVPSでLAMP | | さくらVPSでFTP =>
スポンサーリンク
ohhappyをフォローする