gpt4 book ai didi

Bash:控制 SSH

转载 作者:行者123 更新时间:2023-11-29 08:53:43 28 4
gpt4 key购买 nike

我有这个 bash 文件,它向设备询问 OpenSSH 的 IP、密码等。

现在,如果我使用 ssh root@ip,我必须输入密码。这真的很烦人。第二;我不能让我的脚本向它发送命令。

这就是我想要的->

  1. 不是密码的事;我已经找到了一些东西;但它告诉我找不到命令?:

    #!/usr/bin/expect -f

    spawn ssh root@$IPADDR

    期待“密码:”

    sleep 1

    发送“$rpass\r”

    1. 我希望用户能够看到一些可供选择的菜单;在那之后;每一个命令都是为他完成的。就像一个新窗口,或类似的东西?

    2. 我不想使用:-任何外部的东西-无需额外编辑 SSH 连接

BASH 信息:GNU Bash,v. 4.0.33(1)-release (i486-pc-linux-gnu),在 Linux Mint 上运行。但它必须适用于多个 Linux 发行版,也适用于 Mac?

最佳答案

在您的机器上不以明文形式存储密码的情况下,正确的方法是使用 ssh。第一次运行:

ssh-keygen

这将在 ~/.ssh/id_rsa.pub 中生成一个新的 SSH key 。之后只需运行:

ssh-copy-id user@my.server.com

如果您使用的是 OS X 或另一台没有“ssh-copy-id”的机器,则有一行 alternatives比如这个:

cat ~/.ssh/id_rsa.pub | ssh user@machine "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys"

最终,您只需将本地计算机上的 ~/.ssh/id_rsa.pub 的内容附加到远程服务器上的 ~/.ssh/authorized_keys 中。如何做到这一点取决于您,以上只是做到这一点的快捷方式。

关于Bash:控制 SSH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1924464/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com