![Bash 脚本中的 ssh 登录](https://linux22.com/image/45117/Bash%20%E8%84%9A%E6%9C%AC%E4%B8%AD%E7%9A%84%20ssh%20%E7%99%BB%E5%BD%95.png)
我一直在编写一系列脚本来在远程服务器上执行任务,但一直困扰于如何通过 ssh mid 脚本登录,因为我无法自动输入密码。有办法这样做吗?
echo“正在登录..\n”ssh用户名@IP以某种方式硬编码在密码nextCommand中
答案1
无法通过参数发送密码。您可以使用 ssh 密钥。在您的客户端计算机中:
ssh-keygen -t rsa
这将在 ~/.ssh/ 上使用您的公共 ssh 密钥创建一个名为 id_rsa.pub 的文件,然后,您必须添加以下内容id_rsa.pub在您的服务器计算机上创建一个文件(您可以通过 scp 或 ftp 复制它),然后运行如下命令:
cat id_rsa.pub >> ~/.ssh/.authorized_keys
这对我有用。
答案2
正如@MichaelKjörling 所说,设置公钥身份验证:
ssh-copy-id user@host
现在您无需密码即可ssh
进行操作。user@host