我正在尝试安装伪分布式hadoop安装。在这方面,我安装ssh进行无密码身份验证。我在docker文件中运行它。
RUN /usr/bin/sudo apt-get install -y openssh-server openssh-client
WORKDIR /home/hadoop_admin
RUN mkdir /home/hadoop_admin/.ssh
RUN chmod 700 /home/hadoop_admin/.ssh
RUN ssh-keygen -t rsa -P "" -f ~/.ssh/id_dsa
RUN cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
当我启动ssh服务时,它会询问yes/no,如下所示。我想让它永远是的。
The authenticity of host 'localhost (::1)' can't be established.
ECDSA key fingerprint is [long hexa key value]
Are you sure you want to continue connecting (yes/no)? yes
有什么建议吗?
1条答案
按热度按时间taor4pac1#
这篇文章有几个考虑因素。
1) 您正在执行的命令到底是什么,因此引发了这个错误?因为它使我想起一个ssh客户机正在尝试访问ssh服务器。如果是这样,您可以将此参数添加到ssh客户端以避免错误。。。但它有安全考虑。
2) 您可以使用已经配置了ssh服务器的docker基本映像http://phusion.github.io/baseimage-docker/
3) 对于尝试连接到服务器的ssh客户机,可以在通过ssh连接之前自动填充已知的\u主机
4) 如果您使用的是docker容器,则不需要ssh到容器。如果ssh需要管理容器,建议使用nsenter或任何其他替代方法。