
Ubuntu日本語フォーラム
ログインしていません。
お世話になっております。
先日来、初心者ながらsshd及びxinetd.dの導入にいそしんでおります。
環境はUbuntu Server 8.04 LTS Linux 2.6.24-19-server #1 SMP です。
sshdをxinetd経由で起動するにあたり、以下の点で疑問が残りました。
(sshd :openssh-server 1:4.7p1-8ubuntu1.2)
[状況]
1./etc/rc2.d から、サーバー起動時のプロセスに sshd(/etc/init.d/ssh)起動が組み込まれている場合
--> 起動後、当然普通に Teraterm等からssh接続ができる。
2. サーバー起動時のプロセスからsshdの自動起動を停止した上で、xinetd 経由で起動させる場合
--> ssh接続ができない
(但し、Teratermではssh接続ダイアログが開くため、sshd自体は動いている?)
(sshdが起動していない状態だと、そもそもダイアログさえ開かない)
3. サーバー起動時にsshdを自動起動させた上で、xinetd経由でsshdを起動する設定をした上で、
手動で、起動中のsshdを停止した後、外部からssh接続をしてみると・・・
--> ssh接続ができる。
以上から、おそらく、sshdはサーバー起動時(電源投入時?)の初回デーモン起動の際に、
なにか、特殊な処理を実施しているんではないかと思ったのですが、この認識が正しいのか、
また、その処理はなんなのか、ご教示の程お願い致します。
マニュアル等を読んでみたところ、sshdの初回起動時は鍵が生成される、とのことで、この
『初回起動』というのはサーバー起動毎の初回起動のことを指しているのかも、と思ったのですが、
確証が持てませんでした。
(インストール後、ssh_host_dsa_key などは作成済みのようですし、特にタイムスタンプでも
更新されているようには思えませんでした)
以下、参考までに現行のsshd_configを転記致します。
# Package generated configuration file # See the sshd(8) manpage for details # What ports, IPs and protocols we listen for Port 22 Protocol 2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key UsePrivilegeSeparation yes KeyRegenerationInterval 3600 ServerKeyBits 768 SyslogFacility AUTH LogLevel INFO LoginGraceTime 120 PermitRootLogin no StrictModes yes RSAAuthentication yes PubkeyAuthentication yes IgnoreRhosts yes RhostsRSAAuthentication yes HostbasedAuthentication yes PermitEmptyPasswords no ChallengeResponseAuthentication no PasswordAuthentication yes X11Forwarding yes X11DisplayOffset 10 PrintMotd no PrintLastLog yes TCPKeepAlive yes AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server UsePAM yes
余談
スーパーサーバー(xinetd)の操作を学ぶにあたって、sshd(というか、十分なアクセス制御
機能がついており、恒常的にいろいろなユーザーから利用される可能性が高いデーモン)は、
xinetdを使う意義が薄いという点も、理解できました(たぶん)。
オフライン
検索してみたら本家フォーラムにこんな記事がありました。
HOWTO: Run openssh-server sshd from xinetd
http://ubuntuforums.org/showthread.php?t=661061
これによると、/var/run/sshdディレクトリがないとxinetd経由での起動がうまくいかないようです。
また、その場合は/var/log/auth.logにエラーログが出ているそうです。
オフライン
toshio による投稿:
検索してみたら本家フォーラムにこんな記事がありました。
HOWTO: Run openssh-server sshd from xinetd
http://ubuntuforums.org/showthread.php?t=661061
これによると、/var/run/sshdディレクトリがないとxinetd経由での起動がうまくいかないようです。
また、その場合は/var/log/auth.logにエラーログが出ているそうです。
ご回答ありがとうございます。
そのものズバリのログも吐き出されており、 /var/run/sshd (chmod755) がないのが原因だったようです。
(空ディレクトリなのに・・・)
鯖起動時にsshdの自動起動を殺していると当該ディレクトリが確かにありませんでした。
無事、xinetdのみでの、sshd起動を確認しました。
オフライン