ホーム >  VPS >  SSH接続するportを22から変更


Posted:2017/10/27 9:00:55 AM|Category : VPS

SSH接続するportを22から変更

VPSの一つであるConoHaをレンタルしました。SSH接続するportを22から変更する設定を行います。

VPSの初期設定

ConoHaをレンタルして、さっそく以下の初期設定を行います。

  • root以外のユーザを作る
  • SSH接続(公開鍵認証で接続)
  • rootからログインできないようにする
  • パスワード認証をできなくする
  • SSH接続するportを22から変更

今回は、SSH接続するportを22から変更します。

CentOS7のfirewalldとSELinux

CentOS7からはfirewalldがデフォルトで利用されます。そのため、iptablesではなくfirewalldを使用します。SELinuxが有効な場合、この設定の変更も必要です。しかし、ConohaではSELinuxはデフォルトではOFFです。このままOFFにしておきましょう。

※SELinuxの設定は「/etc/sysconfig/selinux」で行います。

firewalldはCentOS7.4では、最初からインストールされて有効になっています。以下のコマンドで確認します。

systemctl status firewalld

sshのポート番号を変更するには?

以下の2つを行う必要があります。

  • sshdの設定変更(/etc/ssh/sshd_config を変数してListenするポート番号を変更する)
  • パケットフィルタリング(firewalldやiptables)のポート番号を変更する

準備

以下の準備を行います。

①ConoHaをレンタルします。

ConoHaVPSをレンタルしてみる

②ConoHaにroot以外のユーザを作ります。

ConoHaのroot以外のユーザを作る

③ConoHaにSSH接続するための設定を行います。

ConoHaのSSH接続

④ConoHaへのrootログインを禁止します。

rootからのログインを禁止

ConoHaVPSの環境

OS CentOS7.4

クライアントPC

操作開発用のクライアントPCを用意します。windowsでもmacでも可能ですが、今回はubuntuを利用します。

OS Ubuntu 16.04.1 LTS 64bit

クライアントからリモートログイン

クライアントPCから、ConoHaのサーバーにSSHリモートログインします。

①クライアントPC(Ubuntu)の端末を起動し、以下のコマンドを入力します。「HostName」は、前回SSH鍵を生成時に指定したホスト名を入力します。

ssh HostName

②以下のようなメッセージが表示されますので、鍵に設定したパスフレーズを入力します。

Enter passphrase for key '/home/username/.ssh/keyname': パスフレーズ

前回作ったユーザーのパスワードを要求されますので入力します。

ログインできました。

[username@xxx-xx-xx-xx ~]#

sshdのSSHのポート番号を変更

①sshd_configを編集します。

sudo vi /etc/ssh/sshd_config

以下のように編集します。#が付いてコメントになっていたら削除して、ポート番号を任意の番号に変更します。

Port 1234

パケットフィルタリング(firewalld)のSSHのポート番号を変更

①firewalldの現状を確認します。

systemctl status firewalld

②デフォルト設定をバックアップしておきます。

sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh.xml

「/usr/lib/firewalld/」以下にはシステムデフォルトの設定ファイルが置かれています。ここは基本的にいじってはいけません。自分用にカスタマイズしたい場合は、「/usr/lib/firewalld/」にあるファイルを「/etc/firewalld/」にコピーしてから編集します。「/etc/firewalld/」下にファイルが存在する場合は、それによってシステム設定が上書きされます。

③コピーしたファイルを編集します。

sudo vi /etc/firewalld/services/ssh.xml

ポート番号を書き換えます。番号は任意の番号を指定して下さい。

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>SSH</short>
  <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
-  <port protocol="tcp" port="22"/>
+  <port protocol="tcp" port="1234"/>
</service>

②firewalldサービスを再起動します。

sudo systemctl restart firewalld

③sshdを再起動します。

sudo service sshd restart

クライアントPCのSSH設定を変更

クライアントPC(Ubuntu)の作業です。

①「~/.ssh/config」を変更します。

nano ~/.ssh/config

以下のように変更します。「Port」の番号に、サーバに設定した番号にします。

Host 任意のホスト名
  HostName VPSのIPアドレス
  User 新しく作成したユーザ名
  Port 1234
  IdentityFile ~/.ssh/鍵名

②試しにSSH接続してみます。

ssh 任意のホスト名

接続が確認できれば完了です。


トラックバック用のURL
プロフィール

名前:イワサキ ユウタ 職業:システムエンジニア、ウェブマスター 誕生:1986年生まれ 出身:静岡県 特技:ウッドベース 略歴 2008年04月 金融機関系I

最近の投稿
人気記事
カテゴリー
広告