Studio ilia

Wordpress、ゲームコンテンツ開発ブログ

CentOS 8にSSHでリモートログイン

SSHサーバーについて

SSHはSecure Shellの略でネットワークに接続された機器を安全に遠隔操作できるようにする為のプロトコルです。
実行したコマンドやコマンド結果は暗号化されているためセキュリティーは高いのです。

SSHサーバーはこの通信プロトコルであるSSHを提供するためのプログラムで、これをサーバーにインストールしてルータのポートを開放すれば、外部のNWからもサーバーにアクセスすることができます。

CentOS8では最小インストールでもOpenSSHサーバーがインストールが標準でインストールされており、SSHのサービスも常時起動状態のため、すぐに利用することが可能です。

 

ルータのポート開放でHTTP通信を受け入れる

本手順ではSSH接続で利用するポート番号を変更する手順で解説しています。
コンフィグで変更したポート番号と同一の番号を、サーバー側NWのルータにてポート開放の設定を行い、外部からの通信がサーバーに届くようにします。

本手順の例で変更するポート番号は「1919」になります。
ポートの設定方法はルータによって違いますが、概ね下記のような感じです。

 

プロトコル TCP / UDP
開始ポート番号 1919
終了ポート番号 1919
サーバーのローカルアドレス 192,168.x.x

 

▼通信イメージ

 

 

▼ルータの設定イメージ

 

 

SSHのコンフィグの設定

SSHサーバーの設定はデフォルトでrootログインができてしまいます。
rootは最高権限のアカウント且つ、SSHは基本的に出先などの外部NWから接続する事があるので、rootでSSH接続ができてしまうのはセキュリティー的にはよくないのです。
rootではログインできないように設定を行います。

またSSHのデフォルトポートである22番はハッキング等で狙われやすいため、ポート番号を変えておくとセキュリティー的には高くなるので変更しておきます。

 

▼SSHの設定ファイルを変更

任意のポート番号に変更。
この設定だけでも不正アクセスはほとんど無くなります。

 

▼設定ファイル反映のためSSHを再起動

 

ココに注意!

sshdを再起動する際にすでにTeraTerm等のターミナルツールでログインしている場合は、そのウィンドは閉じないでおきましょう。
SSH接続での接続制限は接続直後の挙動のため、設定変更のミスにより新規ログインができなくなった場合でも、一枚目のウィンドを閉じなければすぐに設定を戻して復旧させることが可能です。

 

 

ターミナルツールでSSH接続

▼ターミナルアプリをインストール
Windowsを例で説明します。
今回は下記のTeraTerm(テラターム)を利用します。
下記からパッケージをDLしてインストールをしてください。

 

▼TeraTermを起動してログイン情報を入力

ホスト 192.168.x.x
TCPポート 1919
サービス SSH
ログインユーザー root以外の一般ユーザーアカウント
パスフレーズ ログインユーザーのLinuxのログインパスワード

 

初回目接続時のインフォメーション

このホストをknown hostsリストに追加する(A)」のチェックを確認して「続行」ボタンを押下。
初回アクセス時にサーバー側から応答されるセキュリティーのカギ情報をTeraTermに保存しておくという意味です。
保存すれば2回目以降は聞かれなくなります。

 

ターミナルツールのメリット
  • 複数同時にウィンドが開ける!
  • コマンドの結果等が日本語化される!
  • WEBに掲載されたコマンド等をコピペが可能!
  • TeraTerm上に表示された結果をコピーしてメモ帳とかに貼れる!

 

更に詳しく

新しく新規ウィンドを開く際に、TeraTermをアクティブウィンドの状態で「Alt+n」で開くと、簡単に接続できるようになります。

 

 

SSHセキュリティー設定の確認

確認ポイント
  • rootでログインが出来ないことを確認
  • ポート22では接続が出来ないことを確認

 

 

SCPコマンドでssh接続でファイルをコピー

▼接続先のサーバーからファイルをコピー
接続先にある「hoge」ディレクトリを、scpコマンド実行時に居るディレクトリ配下に取得。
-r = ディレクトリ

 

▼転送先のサーバーにファイルを転送
Desktopディレクトリを接続先のサーバーの「user」ディレクトリ配下に転送
-r = ディレクトリ

 

Home
Profile
Menu
Search