目前,通过 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:~$