我很难找到一种方法来将本地 Linux 机器上的 .sh 文件执行到恰好是 AWS ec2 实例的远程 Linux 机器上。 这是我在本地机器上所做的:
ssh -i sample.pem ec2-user@server_name.amazon.com 'bash -s' < file_to_remotely_execute.sh
我得到的错误是:
警告:身份文件 sample.pem 不可访问:没有这样的文件或目录。 不会分配伪终端,因为标准输入不是终端。 主机 key 验证失败。
This被称为到达上述方法。
最佳答案
可能的问题:
- PEM 文件不存在。
- PEM 文件没有适当的权限。
~/.ssh/known_hosts
文件中不允许主机。
解决方案:
- 导航到 PEM 文件所在的位置或提供 PEM 文件的完整路径。
- 授予 PEM 文件
400
权限,(sudo chmod 400/path/to/file.pem
)。 - 通过
ssh
登录服务器一次,并允许主机。
关于linux - 如何使用 ssh 在远程 linux 机器(AWS ec2 实例)上运行本地 .sh 文件(存在于本地 linux 机器上),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38366215/