# いいかげん、SSHアレルギーを治すためにも、少しずつ触っていくことに……

SSHサーバをインストールする

Debian sarge なら、

# apt-get install ssh

で、SSHクライアントとSSHサーバをインストールできる。
インストール後に設定ウィザードが起動するので、設問に従って設定していく。

ウィザードによる設問内容:
・SSHのバージョン(バージョン2のみを使用するかどうか)
・ホストベース認証を行うか
・SSHデーモンを起動するか

SSHがインストール済みの場合は、SSHデーモンの設定ファイルを修正して、SSHデーモン再起動でも良い。

SSHデーモンの設定ファイル: /etc/sshd/sshd_config

設定ファイルの項目:
SSHのバージョン2と1を使う場合: Protocol 2,1
SSHのバージョン2のみ使う場合: Protocol 2
ホストベース認証: HostbasedAuthentication no

再起動には /etc/init.d/ssh restart を使う。


# /etc/init.d/ssh
Usage: /etc/init.d/ssh {start|stop|reload|force-reload|restart}
# /etc/init.d/ssh restart
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_dsa_key
Disabling protocol version 2. Could not load host key
sshd: no hostkeys available -- exiting.

うまくいった場合はいいけど……
Could not load host key と出る場合はエラー。
SSHのバージョンに適したホストキー(ナニ(゜д゜)ソレ?)が必要とのこと。
ホストキーは、apt-get install ssh のウィザード終了時に自動で作ってくれているらしい……

面倒なので、設定ファイルなども含めてSSHパッケージを完全に削除してから、再インストールするほうがラクそう。以下のコマンドでSSHパッケージを完全に削除できる。

# apt-get --purge remove ssh

ユーザがSSH鍵でログインするための設定

~/.ssh/authorized_keys というファイルに公開鍵を追加すればよい。
以下のような感じで。

$ cat identity.pub >> ~/.ssh/authorized_keys

参考

Debianサーバ構築運用ガイド - debianでssh パッケージをインストールする

追記: 2005-12-22

武藤 健志 著 / Debian GNU/Linux徹底入門第3版 Sarge対応 とか 武藤 健志 著 / Debian 辞典 Desktop reference とかを参考にしてメモ。

sshデーモンの再起動:
# /etc/init.d/ssh reload

秘密鍵と公開鍵を生成する:
$ ssh-keygen -t rsa
$ ssh-keygen -t dsa

公開鍵をリモートマシンの承認公開鍵リストに登録する:
$ ssh-copy-id -i ~/.ssh/id_rsa.pub remote_host_name

パスフレーズを変更する:
$ssh-keygen -p

公開鍵認証に制限する:
/etc/ssh/sshd_config に UsePAM no

debconf を利用して再設定する:
# dpkg-reconfigure ssh

tags: zlashdot Linux Debian

Posted by NI-Lab. (@nilab)