5

Я пытаюсь SSH с предоставленным именем пользователя и паролем.

Ограничения:
1. Я не хочу устанавливать открытый ключ для каждого сервера, на который я пытаюсь подключиться.
2. Я не хочу / иметь доступ для установки инструмента sshpass.

Попытки:

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

2 ответа2

5

Быстрый поиск в Google привел меня к этому сообщению о переполнении стека: https://stackoverflow.com/questions/16928004/how-to-enter-ssh-password-using-bash

Хотя я не использовал это раньше или пробовал, это определенно выглядит разумно, если вы ожидаете.

#!/usr/bin/expect -f
spawn ssh user@my.server.com
expect "assword:"
send "mypassword\r"
interact
0

Вы можете использовать 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! $!";

Я не проверял этот код, он был взят из этого ответа.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .