docker里的centos 安装sshd服务

1、 yum install openssh-server

2、启动sshd 报错 需要绝对路径

[root@0463226081ca src]# sshd     
sshd re-exec requires execution with an absolute path

3、用绝对路径 再次报错

[root@0463226081ca src]# /usr/sbin/sshd     
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key
sshd: no hostkeys available -- exiting.

4、执行 少什么生成什么key

ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key

5、再次执行 成功

[root@0463226081ca src]# /usr/sbin/sshd
[root@0463226081ca src]# 

6、外部连接还是失败 修改/etc/sshd/sshd_config配置文件 重启再连 成功

UsePAM no

Linux(centos)禁止root用户直接登录sshd并修改默认端口

新建一个帐号

#创建用户 
adduser yourusername 
#设置密码 
passwd yourusernamepassword 

给用户添加sudo权限

#切换到root用户下,执行 
visudo 
#找到root ALL=(ALL) ALL这一行,在下面加上 
yourusername ALL=(ALL) ALL 
# :wq保存并退出 

测试是否成功

su yourusername 
cd ~ 
sudo mkdir test 
#输入密码后成功创建代表设置成功 

修改SSHD配置,禁止root直接登录

vi /etc/ssh/sshd_config 
#找到#PermitRootLogin yes”将yes该外no 
PermitRootLogin no 
#找到#Port 22字段删掉#,将22改为其他不被使用的端口 
Port XXXX 

重启sshd服务

service sshd restart 

重要提醒:这时切莫退出服务器。你要测试能不能使用刚创建的用户成功地通过ssh进入到服务器。打开终端的另一个实例,以之前创建的用户通过ssh进入到服务器。要是一切都正常,你可以以根用户身份安全地注销退出服务器。