创建支持ssh服务的docker镜像

容器里面执行以下操作
1、
apt-get install openssh-server

2、
mkdir -p /var/run/sshd

3、
修改/etc/ssh/sshd_config
RSAAuthentication yes #启用 RSA 认证
PubkeyAuthentication yes #启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径(和上面生成的文件同)
PermitRootLogin yes #root能使用ssh登录
UsePAM no #将原有的yes替换掉

可以将需要登陆主机的本地 ~/.ssh/id_rsa.pub 导入到容器的 ~/.ssh/authorized_keys 中,实现免密登陆

4、
通过passwd命令修改root密码

5、
vi /run.sh
chmod a+x /run.sh
#!/bin/bash
/usr/sbin/sshd -D

6、
exit

7、
docker commit 容器ID或容器NAME 新镜像REPOSITORY:新镜像TAG
docker commit compile sshd:ubuntu
docker run -idt --name sshd_ubuntu -p 10022:22 -v /root/code:/root/code -v /share:/share sshd:ubuntu /run.sh
-v 增加挂载目录的原因:虽然原有镜像可能已挂载目录,但用commit后镜像创建容器的话,不会继承曾经的映射

8、
用宿主主机ip的10022端口可以直接访问容器
ssh root@127.0.0.1 -p 10022

ssh root@192.168.164.128 -p 10022
密码就是之前在容器中用passwd设定的root密码,也可重新进入容器修改
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值