如何在提示连接远程服务器时自动输入用户名和密码

如何在提示连接远程服务器时自动输入用户名和密码

我想编写一个 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

相关内容