我在我的 ubuntu 机器上安装了 docker image - centos 7。但没有找到 ssh 服务。所以我无法运行这个服务。
[root@990e92224a82 /]# yum install openssh-server openssh-clients
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
* base: mirror.dhakacom.com
* extras: mirror.dhakacom.com
* updates: mirror.dhakacom.com
Package openssh-server-6.6.1p1-31.el7.x86_64 already installed and latest version
Package openssh-clients-6.6.1p1-31.el7.x86_64 already installed and latest version
Nothing to do
[root@990e92224a82 /]# ss
ssh ssh-agent ssh-keygen sshd ssltap
ssh-add ssh-copy-id ssh-keyscan sshd-keygen
Run Code Online (Sandbox Code Playgroud)
如何远程登录docker镜像?
您必须对 Dockerfile 执行以下说明。
RUN yum install -y sudo wget telnet openssh-server vim git ncurses-term
RUN useradd your_account
RUN mkdir -p /home/your_account/.ssh && chown -R your_account /home/your_account/.ssh/
# Create known_hosts
RUN touch /home/your_account/.ssh/known_hosts
COPY files/authorized_keys /home/your_account/.ssh/
COPY files/config /home/your_account/.ssh/
COPY files/pam.d/sshd /etc/pam.d/sshd
RUN touch /home/your_account/.ssh/environment
RUN chown -R your_account /home/your_account/.ssh
RUN chmod 400 -R /home/your_account/.ssh/*
RUN chmod 700 -R /home/your_account/.ssh/known_hosts
RUN chmod 700 /home/your_account/.ssh/environment
# Enable sshd
COPY files/sshd_config /etc/ssh/
RUN ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa
# Add a account into sudoers and this account doesn't need to type his password
COPY files/sudoers /etc/
COPY files/start.sh /root/
Run Code Online (Sandbox Code Playgroud)
我必须删除文件 /etc/pam.d/sshd 上的“pam_nologin.so”,因为当我将 openssh-server 的版本升级到 openssh-server-6.6.1p1-31.el7 时,pam_nologin.so 将不允许远程登录即使文件 /etc/nologin 不存在,任何用户也可以登录。
启动文件
#!/bin/bash
/usr/sbin/sshd -E /tmp/sshd.log
Run Code Online (Sandbox Code Playgroud)
启动centos容器
登录容器
| 归档时间: |
|
| 查看次数: |
7305 次 |
| 最近记录: |