Как ввести пароль ssh с помощью bash? [дубликат]
этот вопрос уже есть ответ здесь:
Bash: управление SSH
7 ответов
каждый день я подключаюсь к серверу через ssh. Я прохожу через эту процедуру:
IC001:Desktop user$ ssh [email protected]
[email protected]'s password:
Last login: Tue Jun 4 10:09:01 2013 from 0.0.0.0
$
Я хотел бы автоматизировать этот процесс и создать bash-скрипт, чтобы сделать это для меня. Я не забочусь о безопасности и хорошо хранить свой пароль открыто в сценарии. Я также в порядке, чтобы он был напечатан открыто на экране, пока сценарий выполняется. Поэтому я создал это:
#!/bin/bash
ssh [email protected]
echo mypassword
но это не работает. Я тоже пробовал send вместо echo, но это также не сработало. Пожалуйста, сообщите, если это возможно сделать.
2 ответов:
дважды проверьте, если вы не можете использовать ключи.
в противном случае используйте expect:
#!/usr/bin/expect -f spawn ssh [email protected] expect "assword:" send "mypassword\r" interact
создать новую пару клавиш: (по умолчанию)
ssh-keygenскопировать публичный ключ на сервер: (пароль в последний раз)
ssh-copy-id [email protected]отныне сервер должен распознавать ваш ключ и больше не запрашивать пароль:
ssh [email protected]
Comments