openssh-serverが入っているのにsshでログインできない

概要

 新しくBasix4.0(OS)をインストールしたので、sshログイン関連を設定して遠隔ログインしようとしたができなかったので、原因を調査した。

現象

 sshコマンドでログインしようとすると、以下のメッセージが出て終了してしまう。

Connection closed by 192.168.11.10 port 22

調査1

 とりあえず、以下の点を調査した。

  1. サーバ(Basix4.0のPC)にopenssh-serverが入っているか?
  2. /etc/ssh/sshd_configの設定は?
  3. Firewallでport 22が拒否されてないか?

 結果は以下の通り

  1. 入ってる
  2. とりあえず、以下の様に設定して、サービスを再起動してみたがダメ

    Port 22
    PermitRootLogin no
    PasswordAuthentication yes

  3. そもそもFirewallがOffだった

調査2

 ということで、原因がわからなかったので、sudo service ssh statusでsshのサービスの状態を見てみると、以下のファイルの読み込みに失敗していた。

 上記ファイルは、/etc/sshにあるらしいのだが、何故か無かった。次のリンク先のアドバイスで、一回消して作りなおせとあったので、以下のコマンドで作り直しだけやってみると、無事sshができるようになった。

sudo dpkg-reconfigure openssh-server

 

結論

 公開鍵情報が無かったのが問題だったらしい。
 普通はopenssh-serverのインストール時に作られるはずだが、作られていなかった。何故かは不明。