Создайте вторичный ssh-ключ без пароля для настройки ssh-туннеля. - PullRequest
5 голосов
/ 06 января 2009

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

Спасибо!

Ответы [ 3 ]

8 голосов
/ 06 января 2009

Хорошо, я нашел ответ.

Сначала ssh-keygen -f theNewPrivateKey, в противном случае он будет перезаписывать старый закрытый ключ. Во-вторых, ssh -i theNewPrivateKey me@mycomputer опция -i изменяет закрытый ключ, используемый для аутентификации.

Теперь я могу попробовать свой сценарий.


Редактировать: как мой новый ключ имеет ограниченные привилегии:

При копировании открытого ключа в файл $ HOME / .ssh / authorized_keys2 целевого компьютера я добавил следующее:

command="sleep 99999999999" ssh-dss AAAAB3NzaC1kc3MA...
(+ the rest of the key)

Тогда единственная разрешенная команда - это ждать вечно. Поскольку целью создания этого ключа было создание обратного туннеля ssh, это должно быть хорошо. Затем я создаю туннель:

ssh -T -R 7878:localhost:22 -i .ssh/mynewkey  me@myhomecomputer

Наконец-то я могу войти с домашнего компьютера:

ssh myworklogin@localhost -p7878

Я надеюсь, что это не имеет проблем с безопасностью. Если это плохо, пожалуйста, дайте мне знать!

1 голос
/ 06 января 2009

Попробуйте

ssh-keygen

команда.

0 голосов
/ 10 апреля 2013

У меня была похожая ситуация, когда мне приходилось автоматически синхронизировать содержимое сервера без необходимости вводить пароль в моем скрипте robocopy.

Это Ссылка мне помогла.

...