Linux 中的 Bash 脚本

Linux 中的 Bash 脚本

我想使用将在我的系统中执行的脚本文件登录到 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

相关内容