сценарий оболочки для ssh

кто-либо может сказать мне, как я могу создать сценарий оболочки для ssh, где я не должен вводить пароль вручную?

Я учился, ожидают команду, и я попробовал несколько примеров, но она не работала. Кто-либо может помочь мне?

Ответьте мне как можно скорее.

2
задан 19.02.2011, 16:51

7 ответов

Если по любой причине необходимо положиться только на, ожидают, пробуют что-то как (вся одна строка):

expect -c "spawn ssh <username>@a<address> <ssh commands/options> ; expect assword ; send $PASSWORD\n ; interact"

2
ответ дан 08.12.2019, 04:36

Вы могли использовать ssh-keygen и ssh-copy-id чтобы создать rsa ключ и добавить, Вы вводите как разрешенные хост к удаленному компьютеру.

Создайте ssh ключ:
$ ssh-keygen -t rsa

Скопируйте его в удаленный компьютер как позволенный хост:
$ ssh-copy-id user@<IP/hostname>
Например,
$ ssh-copy-id username@12.345.67.890

8
ответ дан 08.12.2019, 04:36

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

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

6
ответ дан 08.12.2019, 04:36

Рассмотрите не использование пароля вообще и вместо этого используйте асимметричный ключ (например, RSA). Это обеспечивает намного лучшую безопасность и удаляет всю стычку поддержания паролей...

2
ответ дан 08.12.2019, 04:36

ssh-key:s используется для этого и основного варианта использования, чтобы добавить, что каждый походит на это:

ssh-keygen 
scp .ssh/id_rsa.pub user@server:.
ssh user@server "cat id_rsa.pub >> .ssh/authorized_keys"
ssh user@server "rm ~/id_rsa.pub"
1
ответ дан 08.12.2019, 04:36

Не помещайте свой пароль в сценарий оболочки. Сценарии оболочки не являются местом для помещения пароля. Помещение Вашего пароля в сценарий оболочки нецелесообразно. Не рекомендуется поместить Ваш пароль в сценарий оболочки.

Если вышеупомянутый совет не ясен, повторите его еще несколько дюжин раз, пока это не.

С SSH Ваш лучший выбор состоит в том, чтобы использовать ssh-keygen сделать пару "открытый/закрытый ключ". Затем на удаленной машине, в ~/.ssh (или везде, где Ваш SSH был настроен для поиска его конфигурации), редактируют файл authorized_keys и вставьте свой ОТКРЫТЫЙ КЛЮЧ. Файл будет, впоследствии, выглядеть примерно так:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQ...elided for security...fdVEkAPINVd0=rsa-key-20100920

Когда это будет существовать, Вам не будет нужен пароль для регистрирования.


отредактированный для добавления

Необходимо поместить Файл секретных ключей в локальное ~/.ssh каталог и удостоверяется, что только можно считать его.


далее отредактированный для добавления

Этот ответ упоминает ssh-copy-id утилита, которая заменяет все редактирование руководства, которое я упомянул. Приятная черта это. Используйте это вместо этого.

1
ответ дан 08.12.2019, 04:36

Необходимо создать частную/с открытым ключом пару.

Затем запишите свой открытый ключ к удаленному хосту, Вы идете в ssh в этот файл:

 /home/user/.ssh/authorized_keys2

Существует много учебных руководств о том, как сделать это. Просто Google для: "ssh без пароля authorized_keys2".

0
ответ дан 08.12.2019, 04:36

Теги

Похожие вопросы