2010-11-03 5 views
1

вот такая ситуация: у меня есть одна машина, которая живет у меня дома (позвонит на нее house_machine), и у меня есть еще одна машина в моем офисе (назовите это one office_machine). im используя ssh с аутентификацией ключа dsa и без аутентификации пароля для доступа к home_machine из office_machine. я установил ssh-сервер на home_machine и добавил открытый ключ, сгенерированный в office_machine, в файл authorized_keys на home_machine. это прекрасно работает - я могу использовать ssh для home_machine из office_machine, просто используя ключ и пароль.с использованием того же открытого ключа ssh на двух разных учетных записях

Теперь вопрос: я хотел бы иметь доступ к home_machine, когда я посещаю другие офисы, просто используя открытый ключ, принадлежащий office_machine. т.е. я хотел бы поместить открытый ключ (id_dsa.pub) на диск USB и просто скопировать его в каталог .ssh в другом офисе. от того, что я прочитал на этом сайте, другие, похоже, смогли сделать этот тип вещей, однако он не работает. когда я пытаюсь просто размещение id_dsa.pub на новую машину и делать ssh -v [email protected]_machine сообщение отладки заканчивается:

debug1: Offering public key: .ssh/id_dsa 
debug1: Server accepts key: pkalg ssh-dss blen 433 
debug1: read PEM private key done: type DSA 
debug1: Authentications that can continue: publickey 
debug1: No more authentication methods to try. 
Permission denied (publickey).

мое временное решение было установлено «PasswordAuthentication да» в sshd_config на home_machine, и просто использовать пароль для войдите в home_machine. однако это исключает возможность использования авторизации ключа.

благодарит заранее!

ответ

2

Вам нужно скопировать больше, чем просто открытый ключ - вам нужен секретный ключ.

В ssh вы размещаете публикацию на стороне сервера, но клиентская сторона должна иметь закрытый ключ.

Вы хотите скопировать файл id_dsa (не id_dsa.pub) на ваш USB-ключ (убедитесь, что он защищен парольной фразой, если он потерян!).

Вы можете использовать этот ключ для входа в home_machine с любого компьютера, имеющего доступ к ключевым:

SSH -i/путь/к/id_dsa пользователь @ home_machine

(она выглядит, как вы могли бы уже имеют отдельный закрытый ключ на office_machine, судя по тому, что вы вставили - вы можете посмотреть на использование ssh-agent)

Кроме того, проверьте/var/log/secure, чтобы узнать, почему ваш sshd может отклонять проверку ключа (это часто проблема разрешений в каталоге .ssh и его предках).

+0

спасибо mate - это сделал произведение. если кто-то еще это прочитает, если вы хотите скопировать id_dsa в каталог /home/userX/.ssh/, вам также нужно запустить 'exec/usr/bin/ssh-agent $ SHELL', затем' ssh-add', вошедший в систему как userX, иначе клиент не будет теперь о новом закрытом ключе. – mulllhausen

+0

Хороший вызов агента - сведения о том, как разные среды взаимодействуют с агентом (при условии, что он используется - он не обязательно), довольно разнообразны в зависимости от ОС и конкретной сборки. В качестве альтернативы (и я не предлагаю, если вы не уверены, что учетная запись очень безопасна в противном случае), вы можете удалить кодовую фразу на свой ключ, а затем устранить необходимость в агенте. Я использую агент для запуска моего оконного менеджера в Linux, поэтому все процессы уже имеют соединение с агентом. OS X поддерживает интеграцию с цепочкой ключей и агент для вас без проблем. –