带sshd的docker用于测试
我有一个简单的Docker文件,用于设置一个服务器,用它来测试一些功能。我需要启动并运行sshd,以便执行我需要执行的操作:带sshd的docker用于测试,docker,ssh,Docker,Ssh,我有一个简单的Docker文件,用于设置一个服务器,用它来测试一些功能。我需要启动并运行sshd,以便执行我需要执行的操作: FROM rastasheep/ubuntu-sshd:18.04 RUN useradd -d /home/myuser -s /bin/bash myuser COPY id_rsa.pub /home/myuser/.ssh/authorized_keys RUN chown -R myuser:myuser /home/myuser/.ssh &&a
FROM rastasheep/ubuntu-sshd:18.04
RUN useradd -d /home/myuser -s /bin/bash myuser
COPY id_rsa.pub /home/myuser/.ssh/authorized_keys
RUN chown -R myuser:myuser /home/myuser/.ssh && \
chmod 700 /home/myuser/.ssh && \
chmod 600 /home/myuser/.ssh/authorized_keys
我使用以下方式运行它:
docker运行-p8383:22-i-t测试:测试
当我尝试连接到服务器时,我得到以下信息:
$ > ~/.ssh/known_hosts && ssh -i ./id_rsa -p 8383 myuser@127.0.0.1
Received disconnect from 127.0.0.1 port 8383:2: Too many authentication failures
Disconnected from 127.0.0.1 port 8383
在运行ssh服务器之后,我必须在容器中重新启动它(服务ssh restart
),但这不是什么大问题,我可以稍后再处理。我的问题是为什么我不能ssh到容器中
密钥非常简单ssh-keygen-b4096
有什么想法吗?经过长时间的调查,我发现了这个问题。我的ssh代理在干预。我现在可以通过使用以下工具轻松绕过它:
ssh -o IdentitiesOnly=true root@127.0.0.1 -p 8383
你有没有试过使用ubuntu和sshd之类的图像?还没有试过。我将尝试以此为基础,并以同样的方式设置我的用户。同样的错误-我更新了上面的Dockerfile设置以反映这一点。必须与用户设置有关。用户名不匹配。在Dockerfile中,您正在将id_rsa.pub复制到“orbweavers”主目录中,但在尝试连接时,您使用的是“myuser”oops,这是我复制数据的错误。不应该包括在里面-/