Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash脚本-SSH连接_Bash_Ssh - Fatal编程技术网

Bash脚本-SSH连接

Bash脚本-SSH连接,bash,ssh,Bash,Ssh,我很难通过bash脚本为ssh连接传递密码。我的一切正常,但它仍然提示我输入密码,而不是提取存储的密码。请看一下下面的脚本部分,如果有明显的错误,请告诉我: #! /bin/bash echo "Please enter a username:" read user echo "please enter a password:" read password echo please enter an IP address:" read ip ssh "$user"@"$ip" expect "p

我很难通过bash脚本为ssh连接传递密码。我的一切正常,但它仍然提示我输入密码,而不是提取存储的密码。请看一下下面的脚本部分,如果有明显的错误,请告诉我:

#! /bin/bash
echo "Please enter a username:"
read user
echo "please enter a password:"
read password
echo please enter an IP address:"
read ip

ssh "$user"@"$ip"
expect "password:"
send "<password>\r"
interact
#/bin/bash
echo“请输入用户名:”
读用户
echo“请输入密码:”
读取密码
请输入一个IP地址:
读ip
ssh“$user”@“$ip”
应为“密码”:
发送“\r”
互动
我尝试了“send”行的不同变体。例如,我尝试了“password\r”和password\r。我还尝试修改“expect”行以镜像尝试的SSH连接返回的确切文本


感谢您提供的帮助。

SSH包含通过重定向标准I/O来防止密码被盗的代码

正确的解决方案是使用
ssh-keygen
生成私钥/公钥对。在远程安装公钥。
ssh-copy-id
将有所帮助

然后可以使用SSH代理将私钥加载到内存中,SSH不会要求输入密码或密钥短语

相关的:

也许这会有帮助: