特定のポートに自動的にログインするSSHスクリプト

特定のポートに自動的にログインするSSHスクリプト

現在SSHを介して接続する「既存の」方法は、次のいずれかです。

ssh USERNAME@HOST -p PORT

すべての適切な情報(ユーザー名、パスワード、ホスト、ポート)を含むスクリプトを作成して実行すると、自動的にホストシェルに接続されます。

私はあなたがどの言語を使うかは関係ありません(例えば、Python、Perl...)。 Expectを使って作成しましたが、残念ながら機能しませんでした。

答え1

自動ログインの場合、実行可能なアプローチはキーベースの認証を使用することです。

良いチュートリアルここ

その後、主キー(内のキー)を使用するか、sshにパラメータを渡す~/.ssh/id_rsa他のキーを使用できます。-i MyKeyFile

答え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:~$ 

関連情報