-2

我有 10 台 Linux 服务器。每次我必须执行 ssh 命令登录时连接到服务器。我需要一个 shell 脚本来登录远程服务器。例如,如果服务器是主机名testhost.com,用户是user1并且password 当我user1在终端中给出用户名时通过,它应该自动执行 shell 脚本并为用户登录到远程服务器user1

4

2 回答 2

1

嗨,我知道这是一个老问题,但这里有一种方法可以按照上面来自@nick hartung 的链接进行操作,然后因为您有 10 个服务器,所以您可以按名称调用每个服务器,所以说“server1”或您喜欢的任何名称,但是对于此示例,将其中一个服务器命名为“server1”,还记得将端口从 22 更改为其他值,例如 22277,因此创建一个脚本并将其命名为 server1 并将其放入其中

#!/bash/bin
ssh username@hostname -p22277

然后将脚本移动到用户 bin

$ sudo chmod 600 server1
$ sudo mv server1 /usr/bin/

那么现在你可以像这样登录到远程主机

$ server1

您将自动登录。

于 2013-08-11T16:56:24.263 回答
0

您可以编写一个脚本,该脚本将用户名作为参数,并基于此通过 ssh 连接到正确的主机。一个简单的例子:

if [ "$1" == "username" ]; then
   ssh username@hostname
fi
if [ "$1" == "username2" ]; then
...

但是,ssh 命令没有内置的方式来提供密码 AFAIK。无论如何,您不应该将密码存储在脚本中。解决此问题的方法是通过使用 ssh-keygen 创建密钥对来设置自动身份验证。是一个链接,将向您展示如何设置它。

于 2012-12-04T14:24:20.313 回答