sshconnect
我为一些用户编写了一个脚本,该脚本需要 2 个变量,usertype
因此sitenumber
用户使用该脚本通过用户类型以 ssh 方式连接到该站点号码。
例如用户输入以下内容:sshconnect read@11
脚本将允许用户通过 ssh 连接到站点编号 11(映射到 IP 地址)并读取用户名。
但当这种情况发生时,用户将连接到该站点并被要求输入读取的用户名的密码。但我不希望用户自己知道或输入密码,而是让脚本发送密码。
有没有办法在脚本中发送密码?
谢谢,彼得
答案1
有多种可能性。您可以使用expect
脚本或简单sshpass
,但密码将写入脚本本身,因此用户可以从那里读取它(这不是安全的)。
简而言之:
sshpass -p password ssh user@host
更好的解决方案是使用密钥对的无密码身份验证。
简而言之,您将创建一个新的密钥对,将其存储在服务器中并将其合并到您的脚本中:
ssh-keygen -t rsa -f key_file -P '' # prepare the key pair
ssh-copy-id user@host # enter the password once
ssh -i key_file user@host # logs in without password