自动输入帮助

自动输入帮助

我的最终目标是为 scp 创建一个别名:

首先,我需要一种自动输入远程用户密码的方法,以便将其作为单个输入命令。安全性对此来说并不是什么大问题,因此我很高兴将密码保存在文本文件中。我尝试了以下方法,但仍然提示输入:

scp  from/path usr:w.x.y.z:to/path <<< "passwd"

echo "passwd" | scp  from/path usr:w.x.y.z:to/path

printf "passwd\n" | scp  from/path usr:w.x.y.z:to/path

一切仍提示我输入。

一旦我弄清楚了,我就会运行:

echo 'alias pts=" fixed command above"' >> ~/.bashrc

我哪里做错了?

答案1

您错误地认为可以scp从标准输入读取密码 - 据我所知,事实并非如此。您有多种选择:

  1. 设置基于密钥的身份验证,使用带有空密码的密钥 - 请参阅如何设置无密码 SSH 登录?

  2. 使用sshpass实用程序(可从存储库获取)

  3. 使用脚本进行密码交互expect

相关内容