docker中centos7安装ssh服务 不指定

jed , 2021-5-24 11:36 , 服务器技术 , 评论(0) , 阅读(1055) , Via 本站原创 | |
容器中安装passwd,openssl,openssh-server

yum install passwd openssl openssh-server net-tools -y

安装完成后
启动sshd:

# /usr/sbin/sshd -D

这时报以下错误:

[root@ b3426410ff43 /]# /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

执行以下命令解决:

[root@b3426410ff43 /]# ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''
[root@b3426410ff43 /]# ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
[root@b3426410ff43 /]# ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''

然后,修改 /etc/ssh/sshd_config 配置信息:

UsePAM yes 改为 UsePAM no
UsePrivilegeSeparation sandbox 改为 UsePrivilegeSeparation no

可以用vi改,也可以用下面命令

[root@b3426410ff43 /]# sed -i "s/#UsePrivilegeSeparation.*/UsePrivilegeSeparation no/g" /etc/ssh/sshd_config
[root@b3426410ff43 /]# sed -i "s/UsePAM.*/UsePAM no/g" /etc/ssh/sshd_config

修改完后,重新启动sshd

[root@b3426410ff43 /]# /usr/sbin/sshd -D

然后修改root密码

passwd root

或者直接一句修改

echo “123456″ | passwd --stdin root

接着需要把修改后的镜像保存了,首先输入exit退出容器,再使用下面命令查看刚运行过的,
docker commit将修改后镜像保存到本地,参数是ID,名字

#docker ps -all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b3426410ff43 centos:7 "/bin/bash" 4 minutes ago Exited (0) 4 seconds ago centos7ssh
#docker commit b5926410fe60 myimage/centos7-ssh

下次可以输入刚保存的名字启动修改过安装了ssh服务的镜像了。
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]