2008-06-08

Solaris Secure Shellの設定

SXCEにはb90の現時点で、Solaris Secure Shellが含まれている。これは、SunOpenSSHをベースに開発したSSHの実装のひとつ。SSHサーバのsshdがインストール直後から起動しているため、きちんと設定をすれば、すぐにSSHプロトコルで通信できるようになる。

今回設定するサーバにはLANの中の特定のPCからしか接続しないので、ホストに基づく認証を使って接続する。作業手順は以下の通り。

  • /etc/ssh/sshd_configの編集
  • /etc/ssh/shosts.equivの編集
  • /etc/ssh/ssh_known_hostsへ接続を許すホストの公開鍵を追加
  • ~/.shostsの編集
  • sshdの再起動

Solaris Secure Shellの設定ファイルは、/etc/sshディレクトリにまとまって入っている。まずは、その中の/etc/ssh/sshd_configを編集。最初に、

HostbasedAuthentication yes

という行を追加。ホストに基づく認証を行うという意味。標準ではホストに基づく認証は使えないようになっている。次に、

IgnoreRhosts yes

という部分を、

IgnoreRhosts no

と変更。ホストに基づく認証で~/.shostsを使うようになる。ホストに基づく認証をするだけなら不要だが、ユーザの名前が接続元と接続先で違う場合には必要。今回はまさにそのケース。

/etc/ssh/shosts.equivの設定。rshが使う/etc/hosts.equivと書式は同じ。一行ごとに、接続を許すホスト名を書く。

client-host

/etc/ssh/shosts.equivに接続を許すホストを列挙したら、今度は/etc/ssh/ssh_known_hostsに、接続を許すそれぞれのホストの公開鍵を追加する。ssh_host_dsa_key.pubが公開鍵だとすると、

# (echo -n "client-host "; cat ssh_host_dsa_key.pub) >> /etc/ssh/ssh_known_hosts

のように、ファイルの終わりに公開鍵を書き込む。

~/.shostsの設定。接続を許すユーザのホームディレクトリに.shostsというファイルを作り、

client-host client-user

のように、ホスト名に続けてユーザ名を書く。

設定がすべて終わったので、最後にsshdの再起動。

# svcadm restart ssh

Solaris Secure ShellもSMFで管理されているサービスなので、こういう操作は簡単。

0 件のコメント: