скрипт для ssh на сервер unix - PullRequest
1 голос
/ 24 мая 2011

Будет полезно, если кто-нибудь подскажет, как подключиться к серверу Unix, используя имя пользователя и пароль в качестве аргументов. My username and password - «anitha».

Как создать сценарий оболочки, который автоматически подключается к моему unix-серверу с этим именем пользователя и паролем?

Ответы [ 4 ]

5 голосов
/ 24 мая 2011

Полагаю, вы хотите удаленно подключиться к вашему * nix серверу из сети.Исходя из моего предположения, чтобы:

  • подключиться к удаленному * nix-серверу, все используют SSH

    ssh anitha@anitha ip-to-unix-server

  • автоматически подключиться, написать простую оболочку bash-оболочки вокруг вашей команды ssh connect и сделать что-то, не рекомендуется, вы должны использовать ssh пароль без логина (он же открытый / закрытый ключ)

    #!/usr/bin/env bash
    ip=172.16.0.1   #replace 172.16.0.1 with your unix server's ip
    username=anitha #your ssh username
    password=anitha #your ssh password
    command=who     #what do you want to do with remote server
    arguments=      #arguments for your command
    expect -c 'spawn ssh $username@$ip ; expect password ; send "$password\n" ; interact'
  • для подключения без ввода пароля вам может понадобиться пароль SSH без логина

1 голос
/ 16 сентября 2013

Шаг 1:

jsmith@local-host$ [Note: You are on local-host here]

jsmith@local-host$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/jsmith/.ssh/id_rsa):[Enter key]
Enter passphrase (empty for no passphrase): [Press enter key]
Enter same passphrase again: [Pess enter key]
Your identification has been saved in /home/jsmith/.ssh/id_rsa.
Your public key has been saved in /home/jsmith/.ssh/id_rsa.pub.
The key fingerprint is:
33:b3:fe:af:95:95:18:11:31:d5:de:96:2f:f2:35:f9 jsmith@local-host

Шаг 2:
С локального хоста, запустите этот One liner для пароля без подключения ssh.

cat ~/.ssh/id_dsa.pub | ssh useronanotherserver@anotherservername  'cat >> ~/.ssh/authorized_keys'
1 голос
/ 24 мая 2011

Используйте sshpass , если вам действительно нужно использовать неинтерактивную интерактивную аутентификацию с помощью клавиатуры (каламбур) или лучше переключиться на использование аутентификации на основе открытого ключа.

Обратите внимание, что передача пароля в открытом виде клиенту ssh очень неэффективна, поскольку пароль отображается в общедоступном списке процессов, где его может прочитать любой пользователь. sshpass обходит эту проблему, создав псевдотерминал и установив связь с клиентом ssh, используя его, поэтому, по крайней мере, пароль не предоставляется во время выполнения.

0 голосов
/ 24 мая 2011

Вы должны использовать expect, который является расширением tcl, которое было сделано специально для автоматизации задач входа в систему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...