星と猫の数学

私を退屈から救いに来た、夢のヒーロー

Ubuntu Server 12.10 インストールと設定 (2)

SSH接続設定 for Windows (1)

SSHというのは暗号や認証技術を使ってリモートで通信を行うためのプロトコル(通信方式)です。SSHを利用してリモートで接続できるようにすれば、サーバが近くにない場合でも別のPCがあれば遠隔操作が可能になります。
また、サーバのコンソール画面で使われているフォントでは日本語が文字化けしますがSSHで接続すれば日本語表示も可能になります。

日本語表示設定

  1. サーバにコンソールでログインする
    • サーバのネットワークのセキュリティ設定を行うため
    • ネットワークの接続は切断しておく
  2. 以下のコマンドで.bashrc*1をnano*2で開く
LANG=C nano ~/.bashrc
  1. .bashrcの末尾に以下の設定を記述する
      • コンソールでは英語表示、それ以外(SSH接続など)では日本語表示にする設定
case $TERM in
linux) LANG=C ;;
*) LANG=ja_JP.UTF-8 ;;
esac
  1. 「Ctrl+O」キーでファイルを保存し、「Ctrl+X」キーでnanoを終了する

SSHのポート番号変更

  1. 以下のコマンドでSSHの設定ファイルを開く
    • この時パスワードを聞かれるので、パスワードを入力する*3
sudo nano /etc/ssh/sshd_config
  1. 「Port 22」と記述されている所があるので、数値を変更する
    • この時、元々記述されていたものを変更するよりは行の先頭に「#」を書いて無効化し、その直下の行に新しく「Port XXXXX」と記述する
    • 変更後の数値は以下のページに記載されていない数値か、もしくは「49152~65535」の間にする
  2. 「Ctrl+O」→「Ctrl+X」でファイルの保存、およびnanoの終了
  3. 以下のコマンドを入力してSSHを再起動する
sudo /etc/init.d/ssh restart

ファイアウォールの設定

  1. 以下のコマンドを入力する
    • 「XXXXX」の部分は上で設定した数値を入れる
sudo ufw enable
sudo ufw default deny
sudo ufw allow XXXXX/tcp

ここまでで何をしたか

サーバへのアクセスを「特定のポート番号を使ったSSH接続」以外禁止しました。Ubuntuには「ufw」というファイアウォール*4があらかじめインストールされており、それを利用する事でサーバのセキュリティを高めています。
ポート番号は通信しているプログラムを特定するための番号であり、SSHには22番が割り振られています。しかし「SSHは22番」は広く知られているため、SSH接続を暗号化していないと結局誰でもサーバにアクセスできてしまいます。そのため、ポート番号を変更する事で管理者以外が(簡単には)SSH接続できないようにしています。

次回に続く

*1:bashというコンソールで操作するためのソフトの設定ファイル

*2:コンソールで使用できるテキストエディタ

*3:SSHの設定ファイルを編集するには管理者権限が必要なため、sudoコマンドで一時的に管理者としてファイルを開いている

*4:厳密には通信制限設定を手軽に行うためのツール