我正在经历一些奇怪的事情。我正在编写一个脚本,通过脚本在服务器上远程安装 Splunk。在这个脚本中,我通过 ssh 连接到我的练习服务器(运行 Redhat 的 5 个亚马逊 EC2 实例)。
但是,当我运行脚本时,出现此错误:
Warning: Identity file ~/Keypairs/jadam-macbookpro-ec2-1.pem not accessible: No such file or directory.
我的第一步显然是确保路径在那里。我复制命令 run 并将其粘贴到我的终端中。我使用密钥对成功连接到我的实例。
这是有问题的命令。我已经尝试过在命令前加上和不加上 sudo 前缀:
KEYPAIR="~/Keypairs/jadam-macbookpro-ec2-1.pem"
sudo ssh -i "$KEYPAIR" "$DST" "$REMOTE_SCRIPT"
Run Code Online (Sandbox Code Playgroud)
REMOTE_SCRIPT 是要运行的脚本文件,而 DST 是我从主机文件中提取的服务器地址。
解决的命令是:
ssh -i ~/Keypairs/jadam-macbookpro-ec2-1.pem ec2-user@12.3.4.567
Run Code Online (Sandbox Code Playgroud)
脚本失败,但复制命令并手动执行它是可行的。一开始我以为是权限问题,这就是我用sudo运行它的原因,但它认为该目录不存在。
有任何想法吗?