作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在创建一个尝试连接到远程服务器的 bash 脚本,但它需要输入密码,我编写了以下脚本:
ssh 主机IP期待“密码:”发送“密码”
但它会连接并提供“user@HostIP 的密码:”,因此发送命令不会向屏幕写入任何密码....我应该怎么做才能使其正常工作?
最佳答案
在文件或脚本中写入密码绝不是一个好习惯。为什么不尝试从一台服务器到另一台服务器的无密码身份验证。
简单的步骤:
我- 从命令 ssh -keygen -t rsa
生成 RSA 公钥和私钥到你的服务器 1。
II- 现在在您的另一台服务器 (server2) 的主目录中创建具有正确权限的 .ssh
目录。
III- 在服务器 2 上创建名为 authorized_keys
的文件。
IV- 在 server2 上打开名为 authorized_keys
的文件,并将名为 id_rsa.pub
的文件从 server1 复制到 server2。
V- 现在将 ~/.ssh/authorized_keys
的权限设置为 640。
VI- 现在尝试登录服务器 2:
ssh user@server2
这是一个很好的链接,它也可以告诉你同样的事情。
https://www.tecmint.com/ssh-passwordless-login-using-ssh-keygen-in-5-easy-steps/
一旦使用 ssh
从服务器 1 到服务器 2 设置了无密码身份验证,那么您可以简单地执行脚本中要在另一台服务器上运行的所有 ssh
命令。
关于linux - 我如何从 bash 脚本输入密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48486150/
我是一名优秀的程序员,十分优秀!