我有这个bash文件,它要求OpenSSH到设备的IP,密码等.
现在,如果我使用ssh root@ip
,我必须输入密码.这真的很烦人.其次; 我不能让我的脚本发送命令.
这就是我想要的 - >
不是密码的东西; 我已经找到了一些东西 但它告诉我找不到命令?:
#!/usr/bin/expect -f
spawn ssh root@$IPADDR
expect "password:"
sleep 1
send "$rpass\r"
我希望用户能够看到一些可以选择的菜单; 之后; 每个命令都是为他完成的.就像一个新窗口,或类似的东西?
我不想使用: - 任何外部的东西 - 没有额外编辑SSH连接
BASH INFO:GNU Bash,v.4.0.33(1)-release(i486-pc-linux-gnu),在Linux Mint上运行.但它必须可用于几个Linux发行版,还可以在Mac上使用?
不使用ssh在明文中存储密码的正确方法是使用ssh.第一次运行:
SSH-凯基
这将生成一个新的SSH密钥~/.ssh/id_rsa.pub
.之后只需运行:
ssh-copy-id user@my.server.com
如果您使用的是OS X或其他没有"ssh-copy-id"的计算机,则可以使用以下一行代替:
cat~/.ssh/id_rsa.pub | ssh user @ machine"mkdir~/.ssh; cat >>〜/ .ssh/authorized_keys"
最终,您只需将~/.ssh/id_rsa.pub
本地计算机~/.ssh/authorized_keys
上的内容附加到远程服务器上即可.你如何做到这一点取决于你,以上只是快速捷径.