ssh自动登录特定端口的脚本

ssh自动登录特定端口的脚本

目前,通过 SSH 连接的“传统”方式是以下一种:

ssh USERNAME@HOST -p PORT

我想创建一个脚本,其中包含所有适当的信息(用户名、密码、主机、端口),当我运行它时,它将自动连接到主机的 shell。

我不关心你将使用什么语言(例如Python、Perl...)。我尝试使用 Expect 创建它,但不幸的是它对我不起作用。

答案1

对于自动登录,可行的方法是使用基于密钥的身份验证。

一个不错的教程这里

然后,您可以使用默认密钥( 中的密钥~/.ssh/id_rsa)或使用另一个将-i MyKeyFile参数传递给 ssh 的密钥。

答案2

使用sshpass

$ sudo apt-get install sshpass

创建您的脚本

#!/bin/bash

user="user"
psswd="password"
port="22"
host="domain.com"

sshpass -p $psswd ssh $user@$host -p $port

执行

$ bash connect_script.bash
Welcome to Ubuntu ..... LTS (.......)

* Documentation:  https://help.ubuntu.com/
New release '14.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

You have new mail.
Last login: Thu Jan 21 11:39:35 2016 from x.x.x.x
user@host:~$ 

相关内容