Как обращаться с ключом SSH? - PullRequest
2 голосов
/ 16 июля 2010
system("ssh test.host.com");

его спрашивают за добавление ключа permentaly или нет?

Я хочу автоматически, это должно сказать да!

Ответы [ 4 ]

8 голосов
/ 17 июля 2010

Тот факт, что ssh спрашивает, хотите ли вы подключиться, даже если открытый ключ хоста еще не проверен, является результатом наличия StrictHostKeyChecking ask (или yes) в вашем /etc/ssh/ssh_config или ~/.ssh/config.Вы можете установить его на no, если хотите автоматически добавлять неизвестные ключи хоста в ваш файл known_hosts.Если вы не хотите вносить это постоянное изменение конфигурации, вы также можете использовать его в командной строке:

system("ssh -o StrictHostKeyChecking=no test.host.com");

В любом случае ssh выдаст предупреждениена ключе хоста не совпадает и отключит аутентификацию по паролю из-за возможных атак «человек посередине».Вы все еще можете войти с аутентификацией с открытым ключом.

4 голосов
/ 16 июля 2010

Кто-то должен согласиться с тем, что первый ключ действителен. Вы можете попросить пользователей добавить соответствующую информацию в ~ / .ssh / known_hosts вручную (или сделать это самостоятельно).

1 голос
/ 16 июля 2010

Как сказал Натон, правильный способ исправить это - получить ключ hosts в вашем списке известных ключей.Простой способ - один раз вручную подключиться к хосту по ssh и ответить «да», после чего ключ будет кэширован в $HOME/.ssh/known_hosts.Это должно быть сделано для каждого хоста, к которому вы будете подключаться, и для каждого пользователя, который будет запускать программу.Если у вас есть права администратора в вашей системе, вы также можете добавить ключи хоста в /etc/ssh/ssh_known_hosts, чтобы сделать их доступными для всех пользователей.

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

1 голос
/ 16 июля 2010

Запустите Агент SSH перед запуском приложения и используйте его для добавления ключа (опция в меню в Windows или используйте ssh-add из командной строки в Unix).

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