我想使用将在我的系统中执行的脚本文件登录到 ubuntu 中的远程系统。该脚本包含以下命令
#!/bin/bash
echo 'systemPwd' | ssh [email protected]
通过执行此脚本,我无法登录系统。它不会从 echo 命令获取密码。但我不知道如何使用替代品。
但我尝试过这个脚本
#!/bin/bash
sshpass -p 'systemPwd' ssh [email protected] <<-'ENDSSH'
#commands to run on remote host
echo 'systemPwd' | sudo -S shutdown-h now
ENDSSH
在上面的脚本中sshpass
已经使用了。问题是sshpass
必须先安装。任何人都建议一种替代方法,这将使我无需sshpass
.
答案1
我建议您使用SSH Keys
.
要创建,SSH Keys
请在客户端计算机上使用以下命令:
ssh-keygen -t rsa
authorized_keys
然后,您可以使用以下命令将公钥复制到新计算机的文件中ssh-copy-id
:
ssh-copy-id [email protected]
之后您就可以无需密码登录远程计算机。
欲了解更多信息:https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys--2