タイトル大津真=XはUNIXでサーバで》SSHの使い方(1)カテゴリー暗合化, ネットワーク管理, 大津真=XはUNIXでサーバで
作成日2001/10/25 16:58:19作成者新居雅行
【MDOnline読者様限定コンテンツ】

――――SSHで安全なリモートログイン
かつては、「リモートログインはTelnetで」というのが一般的でしたが、世の中ぶっそうになるとそういうわけにはいかなくなってきました。Telnetはパスワードや通信が暗号化されずにそのままネットワーク上を流れるからです。ちょっと大げさなたとえですが、自分のキャッシュカードの暗証番号を背中に貼り付けて歩いているようなものです。そんなわけで、Mac OS Xでは、Telnetサービスは基本的に使用しません(/etc/inetd.confを編集してtelnetの行を有効にすればTelnetサーバを立ち上げられますが)。Telnetに代わるサービスとして、現在主流になってきているのがSSH(Secure Shell)です。SSHを使用すると、すべての通信を暗号化できます。公開鍵暗号方式を使用したより安全な認証を行うことも可能です。さらに、SSHのパッケージに含まれるsftpは従来のFTPに置き換わるファイル転送コマンドです。これを使えばアカウント情報を平文で送信するFTPともおさらばできるというわけです。
ということで、今月はSSHの使い方を説明しましょう。

――――SSHサーバを立ち上げる
Mac OS XではSSHのオープンソース版であるOpenSSHが用意されています。SSHはサーバとクライアントコマンド群から構成され、[システム環境設定]の[共有]を開き、[アプリケーション]パネルで[リモートログインを許可する]にチェックを付けるとSSHサーバが立ち上がります。

◇OpenSSH
 http://www.openssh.com/

システムを再起動する必要はありません。すぐにSSHのデーモン(sshd)が立ち上がります。これは、ProcessViewerなどでも確認できますが、Terminal上では次のようにするとよいでしょう。

% ps ax | grep sshd 〈return〉
428 ?? Ss 0:00.62 /usr/sbin/sshd
617 std S+ 0:00.01 grep ssh

――――とりあえずリモートログインしてみよう
SSHサーバが立ち上がったところで、同じくSSHがインストールされた別のマシンからログインしてみましょう。マシンが一台しかないという方は、ホスト名に「localhost」を指定して自分自身にログインすることでSSHの動作を確かめられます。コマンドは「slogin」もしくは「ssh」使用します。

slogin ホスト名

初めてホストに接続すると、「The authenticity of host ’ホスト名’ can’t be established.」といったワーニングが表示されます。これは相手先のホストのフィンガープリント(ホストの公開鍵)がローカルマシンに登録されていないが接続してもいいかという意味です。「yes」を入力すれば、~/.ssh/known_hostsに登録され次回からは聞いてこなくなります。このフィンガープリントは接続しようとしているホストがほんとうに正しいかどうかを確かめるのに使用されます。たとえば、DNSの改ざんなどにより目的のホストになりすました悪意のあるホストに接続しようとすると、フィンガープリントが異り再びワーニングが表示されるのでその時点で気づくわけです。
次にホスト「ibook」にsloginコマンドで接続した例を示します。

% slogin ibook〈return〉
The authenticity of host ’ibook (192.168.1.31)’ can’t be established.
RSA key fingerprint is 41:ac:13:c2:09:e2:68:6d:5a:21:68:bd:d2:07:73:3f.
Are you sure you want to continue connecting (yes/no)? yes ←yesを入力
Warning: Permanently added ’ibook,192.168.1.31’ (RSA) to the list of known hosts.
o2@ibook’s password: ←パスワードを入力
Welcome to Darwin!
[ibook:~] o2% ←ログイン完了!

(続く)
[大津真]
関連リンクhttp://www.o2-m.com/