SSHとはセキュアなリモートアクセスを実現するためのアプリケーションだ。SSHが使えないとサーバが使えないと言ってもいいくらい、現在では大切なものだ。
このページではSSHのインストールと設定方法についてまとめてお伝えしよう。
目次
SSHとは?
SSHは「Secure SHell」の略である。
SSHを利用すると「セキュアなリモート接続」が可能となる。SSHが登場する前は「telnet」を始め、「rlogin」や「rsh」などが使用されていた。
しかしtelnetは平文(暗号化されていないそのままの文章)でパスワードを送信してしまうため、第三者に傍受され、パスワードが流失する危険性がある。
rloginやrshなどは「なりすまし」などの危険性がひそんでいる。
そこでセキュアなリモート接続をするためにSSHが開発された。SSHを使用すると暗号化された通信でリモート接続、操作が可能になる。
代表的なSSHの実装は「OpenBSD」プロジェクトによって開発された「OpenSSH」が代表だろう。大本のSSHははじめフリーで公開された。
しかし1995年にSSH社 が設立され、フリーなソフトウェアではなくなった。それをOpenBSDプロジェクトがフリーな形で再実装したのがOpenSSHとなる。
OpenSSHはフリーなSSHのデファクトスタンダードといえる。
SSHのインストール方法
必要に応じてサーバとクライアントをインストールする。インストール時にデフォルトでインストールされている場合も多いだろう。インストールされていなかった場合、yumコマンドを使用してインストールする。
ログインされる側がサーバとなりログインする側はクライアントとなる。「学習のため」とわりきるならば、両方をインストールしてしまってもかまわないが、本番のサーバは「余分なパッケージを減らす」「なるべく余分なものをいれない」が鉄則である。
サーバの場合openssh-serverだけをインストールしよう。
OpenSSHサーバをインストールする
# yum install openssh-server
OpenSSHクライアントをインストールする
# yum install openssh-clients
サーバの起動と停止
それぞれサーバの起動と停止、再起動はsystemctlコマンドを使用する。末尾の「.service」は省略してもかまわない。
sshサービスを起動する
# systemctl start sshd.service
sshサービスを停止する
# systemctl stop sshd.service
sshサービスを再起動する
# systemctl restart sshd.service
起動時に自動的にサーバを起動するときはsystemctlでenableを指定する。また自動的に起動してほしくない場合はdisableを指定する。
自動起動を有効にする
# systemctl enable sshd.service
自動起動を無効にする
# systemctl disable sshd.service
とりあえず接続してみる
接続をするまえにサーバ側のファイアーウォールの確認と、場合によりけり設定をする。
# firewall-cmd --list-all
「services」の項目に「ssh」があれば問題ない。もしない場合以下のコマンドをたたいてみよう。
# firewall-cmd --permanent --add-service=ssh
sshが無事開放されていることを確認したら、クライアントマシン上で
$ ssh -l <hoge> xxx.xxx.xxx.xxx
<hoge>には接続先のユーザ名、xxxには接続先のIPアドレスを入力する。
各自用意したクライアントマシンから「ssh」コマンドでサーバへ接続すると(Yes/no)で質問されると思うがとりあえず「Yes」で大丈夫だ。
「パスワード」を聞かれるので打ち込む、表示はされていないが正常に打ち込まれているのでそのまま続行しよう。
設定ファイルを確認する。最低限の設定
メインの設定ファイルは「/etc/ssh/sshd_config」となっている。
# vi /etc/ssh/sshd_config
ひとまず最低限の設定項目として
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# rootによるログインを禁止 # 49行目にあるのでアンコメントし no を指定 PermitRootLogin no # 「パスワード無し」を許容するかしないか? # 78行目にあるのでアンコメント PermitEmptyPasswords no # パスワードでの認証を許可 # 79行目 デフォルトで有効になっている。 PasswordAuthentication yes |
この三つは明示的に記述しておこう。
設定を変更したらサービスを再起動することを思い出そう。
ホスト間認証
もう少々詳しい仕組みなどは下記でまとめているので、こちらも参考に。
まとめ
このページではSSHのインストール方法と設定方法について初心者向けにお伝えしてきた。参考にしてセキュアなログインができるようにしていただければ幸いだ。
コメント