Nikarus Опубликовано 26 ноября, 2007 Жалоба Поделиться Опубликовано 26 ноября, 2007 Всем привет! В общем дело такое - нужно чтобы программа автоматически коннектилась к серверу и через sftp копировала файлы (Использую OpenSSH). Собственно основная проблема - коннект - sftp запрашивает пароль в интерактивном режиме, а запихнуть его туда никак не получается... Я читал что это как-то делается, но реализацию на с++ так и не нашел... Логин с передачей серверу публичного ключа также не подходит потому что даже в этом случае хотя бы 1 раз нужно вводить пароль, а предполагается что пользователь с этим общаться не должен... Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Aceler Опубликовано 26 ноября, 2007 Жалоба Поделиться Опубликовано 26 ноября, 2007 А зачем вам что-то программировать - это штатная возможность ssh клиента. Читайте маны. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AccessD Опубликовано 26 ноября, 2007 Жалоба Поделиться Опубликовано 26 ноября, 2007 man ssh-agent Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Nikarus Опубликовано 27 ноября, 2007 Автор Жалоба Поделиться Опубликовано 27 ноября, 2007 эмм...где там такая возможность..? если вы о передаче публичного ключа - то так не подходит. нужно что-то типа sftp user:password@server но такого там нету! Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Aceler Опубликовано 27 ноября, 2007 Жалоба Поделиться Опубликовано 27 ноября, 2007 Такого там и не будет, потому что нарушение безопасности. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Nikarus Опубликовано 27 ноября, 2007 Автор Жалоба Поделиться Опубликовано 27 ноября, 2007 Ну а какже тогда - это вообще возможно сделать..?) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Nikarus Опубликовано 27 ноября, 2007 Автор Жалоба Поделиться Опубликовано 27 ноября, 2007 Ура, я сделал это с помощью expectов ))(Expect V5.21.) скрипт: spawn ssh server@ip-addr match_max 100000 send "password\r" send "<any commands>\r" expect "*assword:*" send "\r" sleep 2 exit Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Kuzin Andrey Опубликовано 9 октября, 2008 Жалоба Поделиться Опубликовано 9 октября, 2008 Вот несколько ссылок, которые гугл вывел по "scp auto login" http://waelchatila.com/2005/06/06/1118124232757.html http://www.bluegum.com/Software/ssh-auth.html 1. На клиенте набираем команду: ssh-keygen -t dsa (пароль не вводим, просто Enter) 2. Создает публичный ключ id_rsa.pub, просмотр cat ~/.ssh/id_rsa.pub 3. На сервере для того пользователя под которым надо логиниться содержимое id_rsa.pub добавляем в файл ~/.ssh/authorized_keys команда типа такой: cat id_dsa.pub >> ~user1/.ssh/authorized_keys Все при заходе с клиента на сервер пароль спрашиваться не будет. Это и для ssh, для scp и наверно для sftp тоже. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Kuzin Andrey Опубликовано 9 октября, 2008 Жалоба Поделиться Опубликовано 9 октября, 2008 Вот несколько ссылок, которые гугл вывел по "scp auto login" http://waelchatila.com/2005/06/06/1118124232757.html http://www.bluegum.com/Software/ssh-auth.html 1. На клиенте набираем команду: ssh-keygen -t dsa (пароль не вводим, просто Enter) 2. Создает публичный ключ id_rsa.pub, просмотр cat ~/.ssh/id_rsa.pub 3. На сервере для того пользователя под которым надо логиниться содержимое id_rsa.pub добавляем в файл ~/.ssh/authorized_keys команда типа такой: cat id_dsa.pub >> ~user1/.ssh/authorized_keys Все при заходе с клиента на сервер пароль спрашиваться не будет. Это и для ssh, для scp и наверно для sftp тоже. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Ineu Опубликовано 9 октября, 2008 Жалоба Поделиться Опубликовано 9 октября, 2008 Не прошло и года... Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.