遠隔操作といえばTelnetが思い浮かぶでしょうか。■ 下準備
SSHもTelnetのように遠隔操作ができるものなのですが、とてもセキュリティがよいです。
リファレンスサイトをみながら遠隔操作で設定をする、など能率的にもなると思います。
ここでは、SSHをよりセキュアにする方法を紹介します。
環境はWindowsがクライアント(操作側)、(Vine)Linuxがデーモン(操作される側)という設定ですだいたい普通はインストールされてます。VineLinuxの場合、既に起動しているはずです。
ここで設定するRSA鍵認証は、あらかじめきめられた「鍵」が適合するかで認証する方式で■ RSA鍵の作成
パスワードだけでの認証より断然セキュアですので導入しましょう。Linux/Windows両者共に作れますが、ここでは簡単な方のWindowsでやります。
まずこちらからTeraTermProをダウンロードしてください。
DLしたあと、解凍してinstall.exeを実行します。全てデフォルトでいけます。
次にこちらからTTSSHをダウンロードします
解凍し ttssh.exe ttxssh.dll libeay32.dll をTeraTermと同じフォルダに移動します。
デフォルトでは C:\Program Files\TTERMPRO\ です。このソフトは英語ですので、もし日本語化したい場合は日本語化版 をどうぞ。
スタートメニューやデスクトップにショートカットをおくと便利です。
PortForwarder-1-1-1_WIN.zipをダウンロードしてください。■ サーバに鍵を登録する
これまた解凍しPF-keygen.exeをダブルクリックなどで実行します
ここではTeraTermと同じフォルダにidentityという名前で保存してみます。
保存場所を選びます。そしてOKをクリック
パスフレーズをきかれます。パスフレーズとはSSHで接続するときに使うパスワードのようなものです。
入力しEnterすると再度入力するようにいわれるので、もう1度入力します。
次にでてくるCommentには適当にサーバの名前などをいれてください。
あとは確認画面がでるので、OK、Exitで閉じます。フォルダに暗号鍵のidentity,identity.pubができているはずです。
以上で鍵の作成は終了です。
作っただけではなく、サーバに鍵情報を登録しなければ使えません。■ 鍵でログインできることを確認する
読み取られないように注意が必要。ローカル内ならFTPや物理的にFDDなどを使いましょう。
このとき、FTPではアスキーモードにしてください。FTPやTelnetなどでホームディレクトリ以下に.sshというディレクトリを作ります。そして、そこに
identity.pubを転送します。
以下のようなコマンドを使って、登録してください。rootではなく使用するユーザで行うので注意。
$ cat identity.pub > authorized_keys
TeraTermのフォルダにあるttssh.txtをダブルクリックなどで実行します。■ RSA鍵だけを使う設定にする
Hostの部分に、サーバのIPアドレスを入力、SSHを選択しOKをクリック
このIPは知らないよ、といわれますのでチェックをいれてコンティニューをクリックします。
ユーザネームにはユーザ名(そのまま)、パスワードには鍵を作ったときのパスフレーズを入力。
USE RSA key to Login(RSA鍵を認証に使う)を選び、公開鍵ファイルを入力または選択します。OKを押すとログインします。できない場合は設定に誤りが無いか確認しましょう。
rootで作業します。SSH設定ファイルを編集するだけです。戻る
黄色い部分はSSHを使うユーザ名を入力。こうすることによってSSHには指定したユーザしかログインできなくなります。
# vi /etc/ssh/sshd_config
...........
PermitRootLogin no
PermitEmptyPasswords no
PasswordAuthentication no
AllowUsers hoge
RSAAuthentication yes
SSH専用ユーザを作って、それにすると好ましいです。SSHdを再起動させれば完了です。