FreeBSDでのSSHの設定手順をメモしておきます。
SSHは高いセキュリティを確保しパケットはSSLで暗号化されています。
このような高セキュリティでリモートで該当マシンへログインしたり、FTPなどのファイル送受信が可能です。
従来からあるtelnetは、telnetではコマンド、パスワードは平文で送られ、盗聴の危険性があるため、SSHを利用することをお勧めします。
SSHD設定手順
FreeBSDで構築するsshdの設定手順を紹介します。
順番に沿って設定していけば行けるはずです。
いけなかったらごめんなさい。。。
バックアップを行なう
設定ファイルは、/etc/ssh/sshd_config
$ cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.original
修正の必要な部分だけ抜粋すると次の2行である。
PermitRootLogin without-password #rootは、パスワード認証では入れない PasswordAuthentication yes #パスワード認証を行なう(一般ユーザ)
規定値では、ユーザは、公開鍵認証のみ許可で、rootユーザはログインできない。
この設定変更により、ユーザはパスワード認証に、rootは公開鍵認証となる。
rootの公開鍵認証を許可するのは、バックアッププログラムの為である。
設定変更が終わったら次のコマンドで再起動する。
$ service sshd restart
接続テスト準備
次のコマンドを使用し、秘密鍵と公開鍵を作成する。
このコマンドでは、パスフレーズ無しで、コメントを「root@TEST-ssd」としている。
$ ssh-keygen -t rsa -N "" -C "root@TEST-ssd"
この作業は、このマシンの秘密鍵と接続するマシンに登録する公開鍵を作るものであるが、今回はテスト用にパソコンの秘密鍵とサーバーに登録する公開鍵として使用する。
作成されたファイルは次の2種類である。
$ /root/.ssh/id_rsa $ /root/.ssh/id_rsa.pub
id_rsaは、接続するマシンの秘密鍵なので、パソコンのTeraTermのインストールディレクトリに「identity」という名前のファイルを作成し、文字列をペーストする。
ip_rsa.pubは、公開鍵なので、次の様にサーバー側に登録する。
$ touch /root/.ssh/authorized_keys /root/.ssh/authorized_keys.original $ chmod 600 /root/.ssh/authorized_keys /root/.ssh/authorized_keys.original $ cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
接続テストを実施
rootに鍵でログインできる事を確かめる。
- パソコンのTeraTermでサーバーに対してSSHで接続する。
- User nameに root と入力
- Use RSA/DSA/ECDSA key to log inを選択して[Private key file]で先ほど作成したidentityファイルを選 択する。
- [OK]を押して接続を試みる。
- ログインできた事を確認する。
- ログアウトして終了する。
rootにパスワードでログインできない事を確かめる。
- パソコンのTeraTermでサーバーに対してSSHで接続する。
- User nameに root と入力
- Passphraseにパスワードを入力
- [OK]を押して接続を試みる。
- ログインできない事を確認する。
- TeraTermProを終了する。
srvadminユーザにパスワードでログインできる事を確かめる。
- パソコンのTeraTermでサーバーに対してSSHで接続する。
- User nameに root と入力
- Passphraseにパスワードを入力
- [OK]を押して接続を試みる。
- ログインできた事を確認する。
- ログアウトして終了する。
まとめ
SSHを設定することは結構めんどくさいと思いますが、セキュリティ強化の為には必要なものです。
telnetはできるだけ避け、SSHを使用しマシンへログインする癖つけすることをお勧めします。
以上です。
サーバーを構築するならVPSがおすすめです。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す