2016-03-02 1 views
0

Мне нужно установить открытый ключ на моем сервере, чтобы удаленный скрипт мог ftp-файлы на моем сервере.Невозможно добавить ключ ssh. ssh-add возвращает 1

Я поместил открытый ключ в свой каталог ~/.ssh и удостоверился, что ssh-agent запущен и что соответствующие переменные env установлены правильно.

Я убедился, что разрешения на открытом ключе устанавливаются 600.

Я побежал SSH-добавить и не добавить открытый ключ. Я запустил ssh-add и предоставил имя открытого ключа, и он попросил передать фразу. Поскольку пользователь, создавший открытый ключ, сделал это без пропущенной фразы, я оставил ее пустой и нажал enter. Ничего не случилось и эхо $? возвращает 1.

Я переименовал открытый ключ в личность. Я снова запустил ssh-add, и он попытался добавить ключ, снова попросив пропустить фразу. Снова я попал в enter, и ничего не произошло, эхо $? все еще возвращает 1.

Я нашел несколько ответов, которые говорят, что ssh-add добавит закрытые ключи, если вы предоставите аргументы и что вам нужно запустить его без аргументов. Это не похоже на реальность. Я пробовал ключ как в формате ssh2, так и в формате openSSH.

Я также прочитал, что я могу добавить ключ вручную. Я читал, что файл должен находиться в ~/.ssh, и я читал разные источники, утверждая, что он должен быть authorized_keys, authorized_keys2 и known_hosts. Я попробовал все три и удаленный скрипт до сих пор не может войти.

Формат я использовал для записи в authorized_keys был «SSH-RSA AAAAB3 ... =»

разрешений для всех трех файлов 600.

Я полностью потерян.

Я на Solaris 10.

+0

Не могли бы вы изменить свой вопрос, чтобы показать пример запуска ssh-add? Включите действительную команду, которую вы запускаете, и фактический результат, который она производит. Каково было имя вашего ключевого файла, прежде чем переименовать его? – Kenster

+1

Я обнаружил, что моя проблема заключалась в том, что когда я добавил ключ к файлу authorized_keys, у меня было «=» в конце, потому что файл authorized_keys на другом сервере, который я использовал, имел это в конце каждой записи. Когда я удалил = по прихоти, он начал работать. – JustJustin

ответ

0

Моя проблема заключалась в том, что у меня была = в конце строки в моем файле authorized_keys.

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

Смежные вопросы