【無料ツールで作るセキュアな環境(46)】〜OpenSSH 6〜(執筆:office)
前回までにsshdの起動方法と設定ファイルの記述方法について説明してきた。
今回からはSSHによる通信のクライアントの利用方法について説明する。
特集
特集
今回からはSSHによる通信のクライアントの利用方法について説明する。
自分が操作しているローカルマシンからログインするためには、ログインしようとしている先の(SSHサーバが運用されている)リモートホストに、自分のアカウントが作られていることが前提である。アカウントがない場合にはリモートホストの管理者にまずアカウントを作ってもらわなければならない。
[SSH1プロトコルでのRSA認証を用いたログインの準備]
まずSSH1での標準的なログイン認証方法であるRSA認証の手続きについて説明する。RSA認証を使ったログインは公開鍵認証なので、接続元であるローカルホストには秘密鍵、接続先であるリモートホストには自分の公開鍵が置いてある必要がある。
ローカルホストのRSA秘密鍵 ~/.ssh/identity
リモートホストのRSA公開鍵 ~/.ssh/authorized_key
そのために最初にローカルホスト上でこの鍵対を作る作業をしなければならない。鍵対生成のツールはssh-keygenである。
$ ssh-keygen -t rsa1
この鍵対生成で作られる秘密鍵をそのままファイルに保存しておくと、秘密鍵の盗難に遭った場合、アカウントを乗っ取られたり、通信内容を傍受されたりしてしまうので、秘密鍵は暗号化されて保存される。その暗号化・復号化のためのパスフレーズの入力を求められるので、十分長くて推測や辞書攻撃されにくいパスフレーズを決めて入力しなければならない。パスフレーズの入力時には、キー入力された文字が画面に表示されないので、確認のため2度パスフレーズを入力することになる。秘密鍵を暗号化・復号化するためのパスフレーズを変更したい時は
$ ssh-keygen -p
でできる。
この作業でRSA秘密鍵と公開鍵の対がバイナリ形式で暗号化されて格納された ~/.ssh/identity というファイルと公開鍵のみが平文のテキスト形式で格納された ~/.ssh/identity.pub というファイルが生成される。また同時に「鍵の指紋」と鍵のコメントが表示される。鍵の指紋は公開鍵が壊れたりすり替えられたりしていないか確認するために用いる文字列である。鍵のコメントはデフォルトでは鍵生成をした時の環境での ユーザ名@ホスト名 という形になっている。このコメントは
$ ssh-keygen -c
で変えることができる。
こうして作られた公開鍵は予めSSHサーバに登録しておかなければならない。この公開鍵をリモートホストに送る作業の時は、公開鍵を別物にすり替えられない安全な方法を選択しなければならないことに注意して欲しい。一番よい選択肢は自身が公開鍵を格納したメディアを持ってSSHサーバのところまで行くことだ。ネットワークで公開鍵を送った場合には、別の通信ルートを用いて鍵の指紋をSSHサーバの管理者に伝え、公開鍵の同一性を確認してもらうのがよい。
office
office@ukky.net
http://www.office.ac/
(詳しくはScan本誌をご覧ください)
http://www.vagabond.co.jp/vv/m-sc.htm
《ScanNetSecurity》