shell - 我可以自动进行ssh连接吗? ssh user@server.company.com

标签 shell networking ssh remote-access remote-server

我想创建一个脚本,将新连接插入到known_hosts文件中。

当我要将新服务器添加到known_hosts文件时,请手动使用以下命令:

ssh user@server.company.com

然后我得到这个返回:
The authenticity of host 'server.company.com (XX.34.228.XXX)' can't be established.
ECDSA key fingerprint is 78:eb:28:7c:a6:19:4f:28:48:ab:0d:c6:e4:4e:dc:ff.
Are you sure you want to continue connecting (yes/no)?

当回答"is"时

我得到这个返回:

Warning: Permanently added 'server.company.com XX.34.228.XXX' (ECDSA) to the list of known hosts. user@server.company.com's password:



打印密码后-我已连接到远程服务器。

下次我想连接时,不需要再次输入密码。

有没有一种方法可以使用Shell脚本自动执行此过程?
我没有运气就尝试了所有这些选项:
yes | ssh user@server.company.com

echo yes | ssh user@server.company.com

但没有任何效果

最佳答案

I want to create a script that inserting a new connection to my known_hosts file ...



ssh-keyscan:
ssh-keyscan server.company.com >> ~/.ssh/known_hosts

但是请注意,这是针对MitM攻击的唯一安全检查,因此,除非您真的确定自己与服务器之间没有任何问题,否则在连接到服务器之前,应手动检查存储的公钥。

要自动执行密码插入,您可以使用sshpass:
sshpass -p password ssh user@server.company.com

但是绝对不建议这样做,因为密码以明文形式存储。

关于shell - 我可以自动进行ssh连接吗? ssh user@server.company.com,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42702028/

相关文章:

linux - 用于 SSH 到多个服务器的 Bash 脚本,如果登录失败则继续

java - Android:如何以编程方式从提供的 HTTPS URL 下载 SSL 证书?

python - 如何在 ssh 中创建 Django super 用户?

shell - 如何创建一个脚本来依次执行多个 "exec"命令?

linux - 我怎样才能从 shell 脚本获得各种输出?

C 网络 : Sendto() returning Errno 22, EINVAL

javascript - 如何使用本地网络中的 Node 后端访问我的 React 应用程序?

shell - 无法通过SSH脚本进行CD-Debian

python - 如何在 xonsh 的 for 循环中运行 shell 命令?

shell - 如果当前目录中存在文件 '[:print:][:blank:]',为什么 'in' 会变成 'in'?