web-dev-qa-db-ja.com

ユーザー名とパスワードでLinuxにbashから自動的にsshする方法

提供されたユーザー名とパスワードでsshしようとしています。

制限:
1。 sshを実行しようとするサーバーごとに公開鍵を設定する必要はありません。
2。 sshpassツールをインストールする必要はありません。

試み:

echo examplePassword | ssh exampleUser@exampleServer
ssh exampleUser@exampleServer < password.txt (contains password)
5
user1103205

簡単なグーグル検索でこのスタックオーバーフローの投稿につながりました: https://stackoverflow.com/questions/16928004/how-to-enter-ssh-password-using-bash

私は以前にそれを使用したことも、試したこともありませんが、あなたが期待していると仮定すると、それは間違いなく合理的に見えます。

#!/usr/bin/expect -f
spawn ssh [email protected]
expect "assword:"
send "mypassword\r"
interact
5
u8sand

Perlを使用できます。

#!/usr/bin/Perl
use warnings;
use strict;

use Net::SSH::Perl;
my $Host = 'remote.serv.er';
my $user = 'root';
my $pass = 'hunter2';
my $ssh = Net::SSH::Perl->new('$Host');
$ssh->login('$user', '$pass') or die "Oh noes! $!";

私はこのコードをテストしていません、それは this answer から取得されました。

0