Невозможно войти в SSH, если вы не вошли локально

13

Я просто настроил аутентификацию pubkey на моем сервере (работает на сервере Ubuntu 10.10). Если я вошел на сервер локально (на коробке), то я могу ssh на сервер нормально (с другой машины). Если я не, однако, я не могу войти и просто получить сообщение об ошибке «Отказано в доступе (publickey)».

Если я запускаю команду ssh с подробным флагом, это вывод: http://pastebin.com/3bPaTe1u

У меня нет этой проблемы, если я не использую аутентификацию pubkey и просто использую пароль, но я хочу использовать pubkey.

Любая помощь?

Джейкоб Миллвард
источник
2
Ваш дом зашифрован?
Оли
2
Вопрос Оли весьма актуален: если вы зашифровали свой домашний каталог, то демон SSH не сможет прочитать ваш открытый ключ, когда вы не вошли в систему.
Джеймс Хенстридж,

Ответы:

9

Я предполагаю, что ваш домашний каталог зашифрован - в этом случае он расшифровывается только при входе в систему - поэтому, когда вы пытаетесь аутентифицироваться, вы еще не вошли в систему, поэтому ваш домашний каталог не расшифровывается и, следовательно, как предложено выше, ssh daemon не может прочитать файл авторизованных ключей. Вы можете исправить это, следуя инструкциям здесь .

alexmurray
источник
Я не следовал этим инструкциям, но совершенно забыл, что зашифровал домашнюю папку. Большое спасибо!
Джейкоб Миллворд,
0

Вы удостоверились, что запись в записи вашего /home/user/.ssh/id_rsa.pubлокального компьютера (машина, с которой вы пытаетесь использовать SSH) правильно скопирована в /home/user/.ssh/authorized_keysфайл пользователя сервера SSH ? Он должен быть полностью полностью скопирован, чтобы система распознала его как на локальной системе, так и на удаленном сервере (сервере, на котором вы пытаетесь подключиться по SSH).

Томас Уорд
источник
1
Да, как уже упоминалось выше, я могу удаленно работать с ssh, если я вхожу локально. Так что я не думаю, что это проблема.
Джейкоб Миллвард,
Нет, вы меня неправильно поняли. Я имею в виду в настройке клиент-сервер. Конечно, из соединения непосредственно на сервере (то есть находясь в поле), это данность, у вас будет доступ. Я имею в виду из вашей удаленной системы. Вы удостоверились, что файл author_keys также принадлежит нужному пользователю и группе? Вы удостоверились, что не вставили неправильно? не мешало бы очистить файл author_keys и повторить попытку.
Томас Уорд
Другой альтернативой является то, что у вас слегка испорченная система ssh, но это менее вероятно
Томас Уорд
1
Просто скопируйте его снова, убедившись, что все разрешения установлены и т. Д. Все та же проблема - я могу войти с ключами, если я также вошел в поле, но не, если это просто удаленно.
Джейкоб Миллворд
1
гектометр это похоже на проблему, с которой я столкнулся давным-давно при установке с открытым исходным кодом. вы попробуйте переустановить openssh-serverделая sudo apt-get purge openssh-server; sudo apt-get install openssh-server, просто чтобы убедиться , что установка вы не сломаны или повреждены?
Томас Уорд