Docker容器实现SSH连接

操作前首先 进行docker容器创建,名称为newTest

docker run -i -t --name=newTest  docker.io/centos /bin/bash

1、安装OpenSSH

[root@fd2123aa64a2 ~]# yum -y install openssh-server
[root@fd2123aa64a2 ~]# yum -y install openssh-clients

2、启动SSH

[root@5c721cd6810b /]# /usr/sbin/sshd -D
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.

发现无法启动SSH,报错如上,解决方法如下,依次执行下列命令,一路按回车键确认

[root@5c721cd6810b /]# ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ""
[root@5c721cd6810b /]# ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ""
[root@5c721cd6810b /]# ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ""

再启动sshd服务,一切正常

3、编辑sshd_config配置文件

    修改配置 UsePAM no,如下所示:

[root@5c721cd6810b /]# vi /etc/ssh/sshd_config

UsePAM no 

4、修改root的密码

[root@5c721cd6810b /]# passwd root
Changing password for user root.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.

5、保存新的镜像

将设置好的容器保存为新的镜像,保存前需要退出并停止容器,保存新的镜像名称为:new_test_ssh

[root@localhost zhpt]# docker commit newTest new_test_ssh
sha256:4ef834d09de5c202fd64e6f57cc1957b2b2e49757b3a58e180811cb99f2fc45a

查看新的镜像是否保存成功

[root@localhost zhpt]# docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
new_test_ssh            latest              4ef834d09de5        55 seconds ago      295.2 MB
docker.io/centos        latest              3fa822599e10        2 weeks ago         203.5 MB
docker.io/hello-world   latest              f2a91732366c        4 weeks ago         1.848 kB

6、启动镜像

    使用宿主机的10322端口映射容器的22端口

[root@localhost zhpt]# docker run -d -p 10322:22 new_test_ssh /usr/sbin/sshd -D
2853ae52f76d8e730ad1965e49452446db507e73558ba55c5d7b4fccdf9b3d62
[root@localhost zhpt]# 

 此时外部可以通过宿主IP及10322端口进行SSH连接容器。

转载于:https://my.oschina.net/ruoli/blog/1592700

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值