Server SSH

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の設定ファイルを変更

 command
# vi /etc/ssh/sshd_config

 

sshd_config


▼ポート番号変更

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

Port 1919


▼rootログイン禁止

この行の「yes」を「no」に変更。
PermitRootLogin yes

PermitRootLogin no


▼接続確認の設定

デフォルトだと応答確認はなしのため突然切断する場合がある。
下記の例だと30秒毎に確認
ClientAliveInterval 30


▼接続確認回数

この場合だと30秒×60回=1800秒(30分)応答がなければ切断される
ClientAliveCountMax 60

 

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

 command
# systemctl restart sshd

ココに注意

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

 

 

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

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

 

▼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 = ディレクトリ

 command
# scp -r user@example.com:/home/pugiemonn/hoge

 

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

 command
# scp -r ~/Desktop user@example.com:/home/user/

 

おすすめ

1

Windows10で構築するサーバー構成の例 知らない人も多いかと思いますが、Windows8のころからWindowsは Hyper-v(ハイパーブイ)と呼ばれるハイパーバイザ型の仮想化システムと、 ...

2

記憶域について この記事ではWindows 10 の記憶域によるストレージの作成方法について解説します。 そもそも記憶域について詳しく知りたい方は、下記の記事で解説していますので、ご覧ください。 St ...

3

概要 WordPressとAFFINGER5についての解説記事でも少し紹介しましたが、AFFINGER5には270以上のタグ機能があります。 あまりにも数が多く探すのが大変なので、効果一覧を作っておき ...

4

ディレクションを担当した世界遺産のガイドアプリより、ムービー用のBGMを1曲担当しました。 Misumi-nishikou It is BGM created for app video. sound ...

5

こちらはプライベートで作成したYoutube投稿用サイクリングムービーのBGMです。 EDM Sound-2 EDM sound for my Youtube. soundcloud.com

-Server, SSH