SSHでセキュアな遠隔操作

遠隔操作といえばTelnetが思い浮かぶでしょうか。
SSHもTelnetのように遠隔操作ができるものなのですが、とてもセキュリティがよいです。
リファレンスサイトをみながら遠隔操作で設定をする、など能率的にもなると思います。
ここでは、SSHをよりセキュアにする方法を紹介します。
環境はWindowsがクライアント(操作側)、(Vine)Linuxがデーモン(操作される側)という設定です

だいたい普通はインストールされてます。VineLinuxの場合、既に起動しているはずです。

下準備
ここで設定するRSA鍵認証は、あらかじめきめられた「鍵」が適合するかで認証する方式で
パスワードだけでの認証より断然セキュアですので導入しましょう。

Linux/Windows両者共に作れますが、ここでは簡単な方のWindowsでやります。
まずこちらからTeraTermProをダウンロードしてください。
DLしたあと、解凍してinstall.exeを実行します。全てデフォルトでいけます。
次にこちらからTTSSHをダウンロードします
解凍し ttssh.exe ttxssh.dll libeay32.dll をTeraTermと同じフォルダに移動します。
デフォルトでは C:\Program Files\TTERMPRO\ です。

このソフトは英語ですので、もし日本語化したい場合は日本語化版 をどうぞ。

スタートメニューやデスクトップにショートカットをおくと便利です。

RSA鍵の作成
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をダブルクリックなどで実行します。

Hostの部分に、サーバのIPアドレスを入力、SSHを選択しOKをクリック


このIPは知らないよ、といわれますのでチェックをいれてコンティニューをクリックします。


ユーザネームにはユーザ名(そのまま)、パスワードには鍵を作ったときのパスフレーズを入力。
USE RSA key to Login(RSA鍵を認証に使う)を選び、公開鍵ファイルを入力または選択します。

OKを押すとログインします。できない場合は設定に誤りが無いか確認しましょう。

RSA鍵だけを使う設定にする
rootで作業します。SSH設定ファイルを編集するだけです。
# vi /etc/ssh/sshd_config
...........
PermitRootLogin no
PermitEmptyPasswords no
PasswordAuthentication no
AllowUsers hoge
RSAAuthentication yes
黄色い部分はSSHを使うユーザ名を入力。こうすることによってSSHには指定したユーザしかログインできなくなります。
SSH専用ユーザを作って、それにすると好ましいです。

SSHdを再起動させれば完了です。

戻る


Copyright(C)2002-06.Suzuaki All Rights Reserved.
情報の無断転載・直リンクはご遠慮下さい
(リンクする場合はTOPページにお願いします。)