Мне нужно настроить безопасное соединение с помощью ключей ssh, предварительные условия:
В моем Linux я не могу создать такой ключ, - говорит мужчина:
Ключи DSA должны быть точно 1024 бит, как указано в FIPS 186-2.
Но я обнаружил, что в Putty мы можем создавать 2048-битные ключи DSA. Поэтому я попытался поместить свою пару ключей, сгенерированных Putty, в каталог .ssh моего пользователя. Это не работает ...
Закрытый ключ выглядит так:
PuTTY-User-Key-File-2: ssh-dss
Encryption: aes256-cbc
Comment: dsa-key-20150127
Public-Lines: 17
xxxxxxxxxxxxx
Private-Lines: 1
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Private-MAC: xxxxxxxxxxxxxxxxxxxxx
Я думаю, что аутентификация не может работать с этим ключом.
Мои вопросы:
Спасибо за вашу помощь и извините за мой плохой английский
Учитывая OpenSSH (даже текущую версию 6.7), вы не сможете создать 2048-битный ключ DSA, используя ssh-keygen
инструмент. Однако у вас должна быть возможность создать 2048-битный ключ DSA с помощью puttygen. После создания ключа скопируйте текст, который появляется в текстовом поле с заголовком «Открытый ключ для вставки в файл authorized_keys OpenSSH:», и вставьте его в .ssh/authorized_keys
в домашнем каталоге вашего пользователя на вашем сервере. Чтобы подключиться с помощью ключа, на вашем клиенте должен быть запущен конкурс с загруженным ключом.
Также обратите внимание на права доступа к файлам на ~/.ssh
каталог и authorized_keys
файл. Если они доступны для записи другим пользователям, sshd
не будет использовать authorized_keys
файл, если StrictModes
опция была установлена на no
.
(Я могу подтвердить, что это работает с CentOS 6.6 и putty 0.63)
Обновление: чтобы экспортировать закрытый ключ в формат OpenSSH, используйте puttygen. Нажмите «Конверсии», а затем «Экспорт ключа OpenSSH». Создаваемый им файл правильно отформатирован для OpenSSH. Поместите этот файл (ваш секретный ключ) в клиентскую систему и обратите внимание на разрешения. Затем вы можете использовать ssh -i [name of key file]
для подключения к вашему серверу.