サーバでSSHの設定をおこない、SCPやSSHクライアントによるリモート操作を可能とします。
SSHとは? †
→ SSH
Secure Shell(セキュアシェル、SSH)は、暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコル。パスワードなどの認証部分を含むすべてのネットワーク上の通信が暗号化される。
SSHの設定 †
(参考)
http://www.studio-kingdom.com/centos/486
ローカルPC上で「鍵」データを作る †
SSHで通信をするには、通信途上のデータを暗号化するために、暗号化に必要な「鍵」データを用意します。
以下、WindowsパソコンでSSHの鍵を作る方法です。
- PuTTYgenで鍵ペア(公開鍵と秘密鍵)を作る。
- 秘密鍵のファイル名:「vps-rsa-key.ppk]」等で保存する。
- 公開鍵のファイル名:「vps-rsa-key.pub]」等で保存する。
公開鍵をサーバに設置 †
(参考)「~」(チルダ)=ホームディレクトリのパス。(「独習Linux」p.139)
% cd /home/pcuser ← (ユーザーディレクトリに移動) % mkdir ~/.ssh ← (.sshディレクトリを作成) % chmod 700 ~/.ssh ← (.sshディレクトリの権限を所有者だけに限定) % chown -R pcuser:pcuser .ssh ← (所有者をrootからユーザに変更) % vi ~/.ssh/authorized_keys ← (公開鍵ファイルを作成、編集)
公開鍵の文字列をコピペして保存する。 †
SSHの公開鍵は以下のような文字列としてコピーできる。
(表示の都合上、ここでは改行を入れてますが、本来は1行の長い文字列です。)
ssh-rsa ABCDEFGtesttestABCDEFGAAAIBaXhogevzZASBtv1234Vd7Y5678
e3MX1234CvLw5678ymoaHXcZF3SuiopJy/3zXrbBhjlkluu+8uuIHDvbmnJ4Q
y3R4i75rtyiug8rvLt9FztMCghkjrkPis6p46KoChEfDVa5PI9FvoasdfErEB
qwerrkpNYBnzhogehogeXYZ== sakura-vps-rsa-key
% chmod 600 ~/.ssh/authorized_keys
SSHのアクセス制限を設定 †
- rootのログイン禁止
- パスワード方式のログイン禁止
- 鍵認証方式のログインOK
- 秘密鍵と公開鍵の作成と設置
- SSHのポート番号変更
(参考)SSHのアクセスポリシー
http://www.studio-kingdom.com/centos/486
http://akabeko.sakura.ne.jp/blog/2010/09/%E3%81%95%E3%81%8F%E3%82%89%E3%81%AEvps-%E3%82%92%E4%BD%BF%E3%81%84%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B-2/
ここでは、以下のように設定してみます。
# cd /etc/ssh/ # sudo vi /etc/ssh/sshd_config
↓
#Port 22 Port 12345
#PermitRootLogin yes PermitRootLogin no
#RSAAuthentication yes RSAAuthentication yes
#PubkeyAuthentication yes PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys AuthorizedKeysFile .ssh/authorized_keys
#RhostsRSAAuthentication no RhostsRSAAuthentication no
#PasswordAuthentication yes PasswordAuthentication no
#PermitEmptyPasswords no PermitEmptyPasswords no
#UsePAM yes UsePAM no
SSH再起動 †
% sudo /etc/init.d/sshd restart
PAM(一括認証)とは? †
(参考)
http://kazmax.zpp.jp/linux/lin_pam.html
http://www.geocities.co.jp/sugachan1973/doc/funto47.html
鍵形式の互換性問題 †
「poderosa 鍵 putty」 - google検索
(参考)
http://blog.livedoor.jp/sasata299/archives/51173838.html
http://d.hatena.ne.jp/slywalker/20080925/1222309382
http://d.hatena.ne.jp/ablabo/20070725/1185291299
http://animemo.seesaa.net/article/119488771.html
※注意点 公開鍵のコピペが間違っていると、ログインできないので注意!
公開鍵のコピペで、先頭部分の「ssh-rsa」が「sh-rsa」(=「s」が一文字足りない)状態だった等。
Poderosa †
Poderosaは、Windows用のSSHクライアントソフト。
タブとか使えて便利。メンテナンスが終了しているみたいなので、ちょっと古くなってる?
(参考)
http://ja.poderosa.org/
http://ja.wikipedia.org/wiki/Poderosa
- PuTTyで作成した秘密鍵をPoderosaで使える形式に変換する。
(参考)
http://d.hatena.ne.jp/ablabo/20070725/1185291299
http://animemo.seesaa.net/article/119488771.html
denyhosts †
- SSHの防御
(参考)
http://epidemic.jp/2010/09/25/denyhosts-on-sakura-vps/
denyhostsいわゆるSSHの総当り攻撃を防御するためのソフトウェアです。
メカニズムとしてはデーモンとして常駐しながら/var/log/secureというアクセスログを監視します。
その後一定回数以上のアクセス失敗があったら自動的に/etc/hosts.denyに接続を失敗したIPアドレスの書き込みを行います。
# yum -y install denyhosts # /etc/init.d/denyhosts start # chkconfig denyhosts on # chkconfig --list denyhosts