У мене є сервер CentOS 6, і я хочу підключитися до нього за допомогою приватного ключа.
У Windows я використовую PuTTY Keygen і вставляю відкритий ключ в свій сервер, в .ssh/authorized_keys2
(також намагався authorized_keys
, не пам'ятаю, чому я використовую authorized_keys2
).
Потім я зберігаю закритий ключ "name.ppk" і використовую його з PuTTY (і конкурсом). Все нормально, поки не буде. З'єднання успішно завершено.
Проблема виникає, коли я намагаюся з'єднатися з іншою системою Linux.
Я використовую опцію експорту puttykeygen для експорту ключа OpenSSH і використання його з моєї іншої системи Linux, але він не працює. Це завжди говорить
Відмовлено в дозволі (відкритий ключ, gssapi-with-mic)
Також спробував створити ключ з інших систем Linux з:
ssh-keygen -t dsa
(і -t rsa
) і вставте відкритий ключ на мій сервер CentOS, де я хочу підключитися. Я спробував вставити його в обидва файли ( authorized_keys
і authorized_keys2
), але нічого не працює.
Насправді, я намагався підключитися з іншого реального сервера CentOS, один віртуальний сервер CentOS на тій же Windows 7, що може з'єднатися за допомогою PuTTY і одного віртуального сервера Debian на тій самій Windows 7.
Віртуальний сервер CentOS і віртуальний сервер Debian можуть з'єднуватися один з одним за допомогою клавіш.
Крім того, конфіг відрізняється. Обидва віртуальні сервери мають sshd_config
типовим значенням, в той час як головний сервер CentOS 6 має конфіг, який я знайшов багато років тому, намагаючись зробити це безпечніше, відключивши логін без ключа і т.д.
Ось моя конфігурація CentOS 6 (без деяких коментарів):
Port xxxx
Protocol 2
SyslogFacility AUTHPRIV
PermitRootLogin yes
PasswordAuthentication no
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
UsePAM no
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL
X11Forwarding yes
UseDNS no
Subsystem sftp /usr/libexec/openssh/sftp-server
ssh -v host
щоб отримати вихід налагодження. Ви можете вказати параметр v кілька разів, щоб бути ще більш детальним. /var/log/auth.log також може допомогти у виведенні того, що неправильно.
-i
.
ls -la
у каталозі .ssh перевірку. Див. Мою відповідь у stackoverflow.com/questions/14664723/… за правильні дозволи.