我想编写一个 bash 脚本来连接到我的远程服务器并执行一些文件传输。
但是因为连接提示输入用户名然后按回车键,然后它需要密码。
我怎样才能使用 bash 脚本自动输入这些内容?
例如这不起作用。echo username; | ssh [email protected]
答案1
最简单的方法之一是将密钥添加到远程主机。要将密钥添加到远程主机,以便 ssh / scp 不需要密码,您可以运行:
ssh-copy-id [email protected]
然后,您可以使用 scp 将内容从远程复制到您所在的当前文件夹中的客户端系统:
scp [email protected]:/path/to/file/filename .
或者将其复制到您在客户端主机上具有写权限的任何文件夹:
scp [email protected]:/path/to/file/filename /local/folder/to/store/in/
另一种方法是sudo apt install sshpass
在客户端系统上安装 sshpass ( )。然后您可以使用它登录远程主机并以此方式运行命令。要记住的一件事是,任何有权访问脚本的人都可以读取存储在脚本中的密码。
要使用,sshpass
请参阅https://askubuntu.com/a/385850/231142