我经常操作我的远程vps。我写一些脚本只是为了我的工作。但是每次在ssh命令行之后,我都必须手动输入密码。如何在脚本中提供密码,以便它虽然我知道它不安全,但我的目标只是为了方便。 我尝试了很多方法。 详细说明,如果我有一个配置为vps的vps:
协议= SSH
主机= 122.122.122.122
端口= 22
用户名:根
密码:输入mypassword
我会编写一个脚本作为花来连接vps:
#!/bin/sh
ssh -p 22 root@122.122.122.122
#Other command flowers
然后我运行脚本。在运行其他命令之前,我必须输入密码。
root@122.122.122.122' s密码:
所以我想知道我是否有任何解决方案可以避免手动输入密码。
答案 0 :(得分:0)
方法1: 首先创建一个新的密钥对:
ssh-keygen
将公钥复制到服务器:
ssh-copy-id user@my.server.com
现在服务器应该识别您的密钥,因此不再要求您输入密码:
ssh user@my.server.com
方法2:
使用期望
#!/usr/bin/expect -f
spawn ssh user@my.server.com
expect "assword:"
send "mypassword\r"
interact