需要启动容器时映射端口,然后在docker容器中安装openssh-server并生成ssh密钥。 centos7中使用ssh-keygen -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key这个命令生成密钥。 ssh-keygen 命令中,-t 选项表示生成的密钥所使用的加密类型,这里选择的是 RSA ;-b 选项表示 bit, 后接一个整数,表示加密的位数,该数值越大表示加密的强度越高;-f 选项后接要生成的密钥文件名。根据 /etc/ssh 目录下的 sshd_config 配置文件,RSA 密钥默认识别文件名为 ssh_host_rsa_key 。

生成rsa密钥后,再使用/usr/sbin/sshd,当出现如下图错误时,是由于缺少对应密钥文件而导致ssh无法正常启动:

ssh-keygen -t ed25519 -b 2048 -f /etc/ssh/ssh_host_ed25519_key ==> 生成ed25519密钥
再使用/usr/sbin/sshd就能正常启动了