将密码传递给脚本

eli*_*eli 4 scripting password ssh expect

我想要将scp文件发送到远程主机,然后从那里对该文件运行命令,然后退出远程会话。如果我编写一个通常的脚本,调用scp然后ssh,系统会提示我输入两个密码。有没有一种方法可以使用ssh一个密码在远程计算机上复制、运行命令?

另外如何编写需要与用户交互输入密码的脚本?

我不想使用“读取”,因为它不安全。我不想使用passwordless ssh,因为我的私钥文件可能会被泄露,这更糟糕。我读过一些有关“期望”的内容,但不确定它是否是正确的工具。

Gil*_*il' 5

我不想使用无密码 ssh,因为我的私钥文件可能会被泄露,这更糟糕。

不,这是错误的。私钥文件比密码提供更高的安全性。使用私钥文件。私钥文件用密码加密;如果有人获得密钥文件,他们仍然需要您的密码。如果您使用密码身份验证,那么任何掌握密码的人都可以逍遥法外。

ssh-agent在会话期间运行。在使用特定密钥之前,请输入密码ssh-add(或通过某些 GUI 提示)。这样使用该键连接时就不会出现提示了。