SSHの設定

1.目的

FreeBSDマシンをネットワーク経由で操作をするために、windowsにターミナルソフトを入れ、sshを用いた暗号化通信を行う。

2.設定

FreeBSDではデフォルトでOpenSSHの「sshd(セキュア シェル デーモン)」というサーバプログラムが動作してます。
/etc/rc.conf内に以下の記述があるか確認してください。無ければ追加して再起動します。

/etc/rc.conf を編集する
sshd_enable="YES"

サーバー側の SSH 設定は /etc/ssh/sshd_config で行います。
基本的にはデフォルトのままで動きますので私はそのままです

3.自分のRSA公開鍵(秘密鍵)を作成する(ssh-keygen)

ユーザはssh-keygenコマンドを実行することで、SSHで利用するRSA公開鍵(秘密鍵)を作成することができます。
ssh-keygenコマンドにオプションをつけずに実行すると、`ユーザー名@ホスト名.ドメインネーム' がコメントとして
付加されたRSA公開鍵が作成されますので、ホームをNFSで共有しているような環境では、`-C' オプションをつけて、
メールアドレスなどを指定して実行するとよいでしょう
(※あくまでもコメントなので、作成された公開鍵の最後のフィールドを直接編集して直しても構いません)。
必ず、接続するユーザーでfreeBSDにログインした状態で行って下さい。

$ cd ~
$ mkdir .ssh
$ cd .ssh
$ ssh-keygen -t rsa
Initializing random number generator...
Generating p: .............++ (distance 146)
Generating q: ...................................++ (distance 598)
Computing the keys...
Testing the keys...
Key generation complete.
Enter file in which to save the key (/home/who/.ssh/id_rsa): [通常はこのままリターン]
Enter passphrase: [パスフレーズの入力]
Enter the same passphrase again: [パスフレーズを再度入力]
Your identification has been saved in /home/who/.ssh/identity.
Your public key has been saved in /home/who/.ssh/identity.pub.
The key fingerprint is:
f7:e6:69:dc:1a:8c:48:c3:07:d1:9d:b1:3f:1d:8c:10 who@ssh.softinn.to
$
~/.ssh 以下に、id_rsa,id_rsa.pubの二つのファイルが生成されます。それぞれ、自分の秘密鍵と公開鍵です。パーミッションは、それぞれ600(-rw-------),644(-rw-r--r--)のはずです。ls -lでファイルモードを確認してください。
-tの後のrsaはSSH2のRSAになります
出来上がったid_rsa.pubを公開鍵とします
$ cat id_rsa.pub > authorized_keys
$ chmod 600 authorized_keys
そして、id_rsaをFDDなど安全なルートでWindowsPCへコピーしておきましょう

4.WindowsからSSH(slogin)で接続するためのTeraTermインストール

ここでは、TeraTermの最新SSH2対応を使用します

まず以下のものを用意します。
http://www.vector.co.jp/soft/winnt/net/se320973.html

あとはインストールするだけです。

5.接続方法

Host:に接続先ホスト名を入力し、ServiceにSSH(port:22)を選択してSSH VersionをSSH2にして「OK」ボタンを押します。
次にUse name:とPassphrase:に接続先ホストのログインネームとパスワードを入力します。
また、下の3つの選択肢は、一番上のUse plain password to log inを選んで「OK」ボタンを押して下さい。

無事接続できれば、TeraTermのウィンドに接続先ホストのshellプロンプトが現れるでしょう。
普通のtelnet接続と変わらないように思えますが、パスワード送信部分を含めてすでに暗号化が行われています。

また、自分用のRSA認証鍵を使えばパスワード無しでもログインできます。

まず、出来上がっている「id_rsa」をTeraTermのフォルダーにコピーします
そして以下のように接続時に指定すればパスワードを入れなくても接続することができます。

最後に、当然ですがipfilterではイントラ側のssh 22番ポートは通信可能にしておきます。ipfilterの項を参照