配置Docker容器ssh服务端实现远程ssh登录

1. ubuntu系统

#安装ssh server 和 client

RUN  DEBIAN_FRONTEND=noninteractive  apt-get install -y  openssh-server openssh-client

#此步骤主要目的是修改sshd_config配置文件,把配置文件中的”PermitRootLogin without-password”加一个”#”号,把它注释掉,再增加一句”PermitRootLogin yes”,参考:https://www.jianshu.com/p/adda91b7c1d2

RUN mv /etc/ssh/sshd_config /etc/ssh/sshd_config_bak && cp /opt/sshd_config /etc/ssh/

## 设置root密码为123
RUN echo root:123 | chpasswd


RUN echo "export PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" >> /root/.bashrc
RUN echo "export LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64" >> /root/.bashrc
## ssh port 22
EXPOSE 22


## ssh start cmd
CMD service ssh restart -D

2、centos系统

FROM nvidia/cuda:9.0-cudnn7-devel-centos7
LABEL maintainer "xxx"

RUN mv /etc/yum.repos.d/cuda.repo /etc/yum.repos.d/cuda.repo.bak && \
    yum install -y vim openssh-server openssh-clients && \
    rm -rf /var/cache/yum/*

COPY sshd_config /etc/ssh
#COPY ssh_host_rsa_key /etc/ssh
RUN echo \n\n | ssh-keygen -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key
## 设置root密码
RUN echo root:123 | chpasswd

RUN echo "export PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" >> /root/.bashrc
RUN echo "export LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64" >> /root/.bashrc
## ssh port 22
EXPOSE 22

## ssh start cmd
CMD /usr/sbin/sshd -D

3、镜像制作好后在机器上启动容器

以GPU机器为例子,分配10核cpu,30G内存,启动命令如下:

NV_GPU=0 nvidia-docker run --name ajk-caffe-offline-GPU -itd --cpu-period 100000 --cpu-quota 1000000 --memory 30G --shm-size 2G  -p 50011:22 -p 50012:50012 -p 50013:50013 -p 50014:50014 -v /opt/users/xxx/:/home/work/ 镜像名


4、其他机器远程 ssh 登录

ssh -p 50011 root@xxx.xxx.x.xxx
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值