如何使用expect将密码发送到ssh连接.
说密码是p @ ssword,ssh命令是ssh me@127.0.0.1
如果想要输入密码,我该怎么做呢?
me@127.0.0.1密码:
?
使用SSH密钥对的正确操作不是一个选项,因为我必须使用ssh(scp)将密钥放在服务器上,这会要求输入密码.
我总是使用"正确的"解决方案,但我在其他情况下使用了expect.
在这里我发现了以下建议:
#!/usr/local/bin/expect spawn sftp -b cmdFile user@yourserver.com expect "password:" send "shhh!\n"; interact
使用公钥认证并使用没有密码短语的密钥会不会更容易?
当源计算机上的用户执行此操作以生成RSA密钥时
ssh-keygen -t rsa
现在将〜/ .ssh/id_rsa.pub复制到目标机器并将其附加到目标用户的authorized_keys文件