unix - 我该如何使其不互动?

标签 unix hadoop ssh ubuntu-12.04 docker

我正在尝试安装伪分布式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服务时,它要求是/否,如下所示。我想永远做到这一点。
  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)您正在执行的命令到底是什么,因此会引发此错误?因为它使我想起是尝试访问ssh服务器的ssh客户端。如果是这样,您可以将此参数添加到ssh客户端以避免该错误...,但是它具有安全注意事项。

echo 'Host * StrictHostKeyChecking no' >> ~/.ssh/config

2)您可以使用已在SSH服务器上配置http://phusion.github.io/baseimage-docker/的docker基本镜像

3)对于尝试连接到服务器的ssh客户端,您可以在通过ssh连接之前自动填充known_host
ssh-keyscan -t rsa,dsa localhost >> $HOME/.ssh/known_hosts

4)如果您使用的是Docker容器,则无需通过SSH到这些容器。如果SSH需要管理容器,建议使用nsenter或任何其他替代方法。

关于unix - 我该如何使其不互动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28059778/

相关文章:

java - Unix 中的 jvisualvm

c - 如何在unix中遍历虚拟内存中的bss段、数据段和整个堆栈

wordpress - GCE : cannot login, VM guest 环境已过时,仅支持已弃用的 'sshKeys' 元数据项

java - 如何通过 ssh 在远程机器上运行应用程序?

objective-c - Cocoa/Objective-C Shell 命令行执行

python - 监控进程 "starvation"- 可能在 python 中

linux - 由于 nutch linux 实例的 tmp 目录中的作业缓存,磁盘空间被填满

sql - ANSI SQL PORTABILITY TO HADOOP HIVE 转换工具或宏

hadoop - MapReduce:给定数字文件,输出不重复/唯一数字的数量

git - 如何将 ssh 公钥添加到特定的 git 存储库