SSHの設定(公開鍵・秘密鍵)

電脳備忘録

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設定を変更して実環境でテストしよう・・・。

広告

ブログの維持費に充てるでございます・・・。