Docker - Передача переменной docker-compose

Expect and send будет отправлять открытым текстом - но ваше SSH-соединение будет шифровать.

Но вместо того, чтобы писать сценарий (и хранить в нем свой пароль!), почему бы не попробовать использовать конфигурацию SSH и аутентификацию на основе личного/публичного ключа.

Сначала сгенерируйте свой собственный закрытый SSH-ключ и сопутствующий ему открытый. Просто запустите

ssh-keygen

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

Затем скопируйте ваш файл ~/.ssh/id_rsa.pub на remotehost:~/.ssh/authorized_keys

scp ~/.ssh/id_rsa.pub user@remotehost:~/
ssh user@remotehost
mkdir .ssh 
cat id_rsa.pub >> .ssh/authorized_keys
chmod 600 .ssh/authorized_keys

и выйдите из системы. Затем отредактируйте свой ~/.ssh/config и внесите запись типа

Host router
    Hostname 192.168.1.1
    User routerusername
    Port 22

Имя, указанное в первой строке Host, не обязательно должно быть DNS-именем, это может быть ник или любое другое имя, которое вам нравится. Конфигурационный файл поддерживает все опции командной строки, такие как переадресация X и т.д. Вы даже можете указать на разные файлы идентификации для разных хостов....

Теперь просто сделайте

ssh router

И вы автоматически войдете в систему.

2
22.08.2016, 20:53
0 ответов

Теги

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