Edited at

Ubuntu 16.04 LTS ServerでSSHのホストキーが自動生成されない

More than 3 years have passed since last update.

仮想マシンのシーリング等で rm /etc/ssh/ssh_host* するのは定番だと思うが、

Ubuntu 16.04 LTS Server だと SSH のホストキーが自動生成されずハマった。

$ rm /etc/ssh/ssh_host*

$ sudo systemctl stop sshd
$ sudo systemctl start sshd
$ ls /etc/ssh/
moduli ssh_config ssh_import_id
sshd_config

あ、あれ?自動生成されてない?

$ sudo systemctl status sshd

* ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2016-04-27 16:41:35 JST; 5min ago
Process: 1326 ExecReload=/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCESS)
Main PID: 1701 (sshd)
Tasks: 1 (limit: 512)
Memory: 1.5M
CPU: 154ms
CGroup: /system.slice/ssh.service
`-1701 /usr/sbin/sshd -D

Apr 27 16:41:35 ubuntu sshd[1701]: Could not load host key: /etc/ssh/ssh_host_rsa_key
Apr 27 16:41:35 ubuntu sshd[1701]: Could not load host key: /etc/ssh/ssh_host_dsa_key
Apr 27 16:41:35 ubuntu sshd[1701]: Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Apr 27 16:41:35 ubuntu sshd[1701]: Could not load host key: /etc/ssh/ssh_host_ed25519_key
Apr 27 16:41:35 ubuntu sshd[1701]: Server listening on 0.0.0.0 port 22.
Apr 27 16:41:35 ubuntu sshd[1701]: Server listening on :: port 22.
Apr 27 16:41:35 ubuntu systemd[1]: Started OpenBSD Secure Shell server.

お、そうだな!

$ sudo ssh-keygen -A

ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519
$ ls /etc/ssh/
moduli ssh_host_ecdsa_key ssh_host_rsa_key
ssh_config ssh_host_ecdsa_key.pub ssh_host_rsa_key.pub
ssh_host_dsa_key ssh_host_ed25519_key ssh_import_id
ssh_host_dsa_key.pub ssh_host_ed25519_key.pub sshd_config
$ sudo systemctl start sshd

ssh-keygen -A で手動生成することで無事に起動した。

うーん、ま、解決したし、これでいっか!(雑


2016/05/02追記:

知人に Debian/Ubuntu 使いなら dpkg-reconfigure 使いなさいと言われた。

さーせんwww

$ dpkg-reconfigure openssh-server