DDNSとの接続?がうまくいかず、サイトが閲覧できなくなることが多々あるのでSSHで外部から制御できるようにしたいと思いいろいろと調べてみました。固定IPをとるつもりでプロバイダをASAHIネットに変えたのだからさっさと契約すればいいのですが、先々のスケジュールのこともあり二の足を踏んでいます。
それはさておき、SSHを外部から使う際には鍵のやり取りでセキュリティを向上させるのが一般的みたいですね。さっそくgoogleで得た情報を元にテスト的に実施してみました。
お約束
参照は自己責任でお願いします。
手順
■SSHの設定
configファイルの修正
vi /etc/ssh/sshd_config
SSH2になっていること
Protocol 2
★公開鍵・秘密鍵 パスフレーズによる認証を許可
#RSAAuthentication yes #PubkeyAuthentication yes #AuthorizedKeyFile .ssh/authorized_keys ↓ RSAAuthentication yes PubkeyAuthentication yes #AuthorizedKeyFile .ssh/authorized_keys
★rhostでの接続を許可しない
#RhostsRSAAuthentication no ↓ RhostsRSAAuthentication no
★パスワード無効化
#PasswordAuthentication yes #PermitEmptyPasswords no PasswordAuthentication yes ↓ #PasswordAuthentication yes #PermitEmptyPasswords no PasswordAuthentication no
★ログインできるユーザーの指定。ここで指定していないユーザーはSHHを使用できない。(複数設定する場合はスペースで区切る)
AllowUsers dansyaku taro
★SSHサーバのみすべてのアクセスを許可(その他のサーバはローカルホスト・LAN内からのアクセスのみ許可)
# vi /etc/hosts.allow ALL:127.0.0.0 ALL:192.168.1.0 sshd: ALL
# vi /etc/hosts.deny ALL:ALL
■SSHサーバを再起動
# /etc/init.d/sshd restart
■秘密鍵・公開鍵の作成
# ssh-keygen -t rsa # chmod 700 ~/.ssh # cat ./id_rsa.pub > ./authorized_keys # chmod 600 ./authorized_keys
id_rsaファイルをクライアント(Windows)へ 移動
/root/.ssh/authorized_keys に公開鍵と秘密鍵が生成されている。(rootで生成した場合) ■TeraTermをインストール
teraterm-4.68.exeをダウンロード
teraterm-4.68.exeをダブルクリックしてteratermをインストール。teratermを起動する。
ホスト:ホスト名を入力。SSHバージョン「SSH2」を指定して[OK]をクリック
ユーザ名:ログインユーザー名 パスフレーズ:ログインパスワード
RSA/DSA鍵を使うにチェックを入れ、移動した「id_rsa」ファイルを指定する。
無事ログインできました。
Puttyだとエラーがでてつながらなかったけど、ツールは何でもいいのでこのままTeraTarmを使うことにします。次はルーターのFW設定を変更して実環境でテストしよう・・・。