ここでは、SSHクライアントであるWinSCPについて解説していきます。WinSCPは、グラフィックインターフェイスがFTPクライアントのFFFTPに似ていることもあり、視覚的に見易く、直感的にも非常にわかりやすいソフトだと思います。これならどんなパソコン音痴の方にでもSSHを使うことを推奨することができるのではないでしょうか。バージョン3.4からはマルチランゲージにも対応しており、日本語での表示が可能になっています。SSH2
プロトコルにもにサポートしているのでSSH2(RSA)暗号鍵を使用して安全にファイルの転送を行うことができます。非常に便利なので活用してみましょう。なお、セキュリティ対策としてあわせて「OpenSSHをchroot
環境にする」も参考にしてみてください。
|
|
■WinSCPのダウンロード
上記URLより日本語でインストールができるように、
multilanguage installation
package をダウンロードしてきてください。
※追記:2004年1月14日にWinSCP3.5がリリースされています。
■WinSCPのインストール
インストールは説明するまでもないので、画面のみ掲載しておきます。クリックすると画像が拡大しますので参照してください。途中、インターフェイススタイルを選択する画面(ノートンコマンダとエクスプローラ)が現れますが、インストール後にも変更できるので安心してどんどん進めていってください。
■サーバーにログインする
WinSCPが起動すると以下のような画面が表示されます。ホスト名にサーバーのIPアドレス、もしくはFQDNを入力し、ユーザー名とパスワードはLinux
上のログインアカウントを入力します。既にLinux上で秘密鍵を生成している場合は、暗号鍵でログインすることもできますが、これについては後述いたします。ここでは、PLAIN
認証でサーバーにログインします。ひとつ注意しておきたいことは、PLAIN認証を使用する場合は、SSHの設定ファイルである/usr/local/etc/sshd_config
の
PasswordAuthentication が
yesになっていなければなりません。RSA暗号鍵による認証を行う場合には、PasswordAuthentication
を no とし、
RSAAuthentication を
yes にしておきます。
プロトコルには、「SCP」と「SFTP(SFTPの代替を許可」と「SFTP」を選択できます。SFTPは、WinSCP3になってからサポートされたものでリジューム機能を実装しますが、パケット応答の確認を行うため、SCPより低速になります。逆に、SCPではリジューム機能を利用できませんが、パケット応答確認を行わないため、より高速にファイル転送ができるようになります。その他、SCPとSFTPにはそれぞれ異なる機能を実装してますので、
こちらからそれぞれの機能の差異を確認しておいてください。ここでは、SCPを使用していきます。
SSH プロトコルのバージョンを選択しておきます。できるだけ、SSH2 プロトコルを使うことを推奨します。なお、プロトコルのバージョンがSSHサーバーのほうでサポートされていなければ使用することはできません。OpenSSH
のデフォルトでは、version1、version2共に使うことができるようになっています。この設定は/usr/local/etc/sshd_config
に記述されています。念のため、sshd_config を開いて、Protcolが双方のバージョンのSSH
をサポートするようになっているかどうか確認してみてください。SSH2しか使わないのであれば、sshd_config
を 「Protocol 2」と編集しておいてください。なお、サーバーが使用しているプロトコルががわからない場合は、「コマンド」→「サーバー・プロトコル情報」で調べることができます。ここでは、SSH2プロトコルを使用して解説していきます。
# vi /usr/local/etc/sshd_config
#Protocol 2,1 |
|
以上の設定が終了したら、上記の作業を繰り返すのは面倒くさいので、「保存」をクリックして設定を保存しておきましょう。
保存が終了したら、「ログイン」ボタンをクリックしてログインしてみます。
ログインに成功すると、FFFTP風な画面が表示されます(ノートンコマンダを選択した場合)。左画面がローカルホスト、右画面がリモートホストを表しています。あとは、右から左へ、左から右へファイルをドラッグ&ドロップすればファイルの転送が行えます。また、差分アップロード(ミラーリング)などの機能も使用できます。使い方は、言語が日本語ということもあって直感的にすぐにわかるとおもうのでこれ以上、詳しくは説明しません。あとは、好きなようにカスタマイズしてください(手抜きw)。
■公開鍵・秘密鍵の作成
公開鍵・秘密鍵は、ssk-keygenを実行することでLinux サーバー上でも作成できますが、ここではあえてWinSCPに付属している
PuTTYgenという暗号鍵生成ツールで鍵を作成してみます。「スタート」→「プログラム」→「WinSCP3」→「鍵関連ツール」→「PuTTYgen
」を選択肢、PuTTYgen を起動させてください(以下図)。なお、既に暗号鍵の作成を終えている方は、「Load
」をクリックし、既存の秘密鍵を選択した後、「Save private key 」を選択し、拡張子「.PPK」の形式で保存しておきます。サーバーにログインする際には、WinSCPを起動し、****.PPKを読み込めばログインすることができます。
それでは、新規に鍵を作成します。「Generate 」をクリックすると鍵を生成することができますが、鍵生成中は、ブランク部分でマウスを適当に動かしてください。そうでなければ1日経っても鍵の生成はおわりません。ここでマウスを動かすことでランダムな値の鍵を生成することができるようになっています。なお、鍵を生成する前に、SSH1(RSA)とSSH2(RSA)、SSH2(DSA)を選択することができます。ここでは、SSH2(RSA)を選択しています。
鍵が生成されたら、「
Save public key 」クリックし、公開鍵を適当な場所に保存します。この公開鍵はあとでサーバー上にコピーしておきます。次に、「
Key
passphrase」欄にパスフレーズを入力します。パスフレーズには、空白を含めることができますので、文章めいたパスワードでも入力が可能です。因みにこのパスフレーズはログインする際に必ず必要となりますので忘れないようしてください。入力し終えたら、「
Confirm
passphrase 」に再度パスフレーズを入力してください。
今度は秘密鍵を保存します。保存するには、「
Save private key」をクリックします。秘密鍵はログインする時に必要となりますので他人に見られたり盗まれたりしないように厳重に管理するようにしてください。
ここまでの作業が終了したら、公開鍵をサーバーをコピーします。コピーする場所は、ユーザーのホームディレクトリに、「.ssh/」というディレクトリを作成し、そのディレクトリ内に
id_rsa.pub
という名前で保存します。
# mkdir /home/kororo/.ssh |
|
次に、WinSCPを起動し、今度はパスワードを入力するのではなく、さきほどWindows上に保存した秘密鍵を読み込み、ログインします。公開鍵と秘密鍵の指紋が合致すれば無事にサーバーにログインすることができるようになります。ログインする際には、上記で設定したパスフレースの入力を求められます。
■ログの確認
なお、ログイン後はSSH2(RSA)でログインできたのかどうか確認してください。
# tail /var/log/messages
Accepted publickey for kororo from 172.16.50.4
port 2365 ssh2
|
|
■その他の機能
あまり活用するとも思えませんが、「コマンド」→「コンソールを開く」で直接コマンドを入力することもできます。TAB機能が使えないので面倒くさくてあまり使うことはないですね…(T▽T)
なお、PuTTYをインストールしている方は、「オプション」→「環境設定」から「統合」でPuTTYがインストールされているパスを指定することで、「コマンド」→「PuTTYを開く」でPuTTYを起動させることができます。