У меня есть сервер CentOS 6, и я хочу подключиться к нему с помощью закрытого ключа.
В Windows я использую PuTTY Keygen и вставляю открытый ключ на моем сервере в .ssh/authorized_keys2
(также пробовал authorized_keys
ключи, не помню, почему я использую authorized_keys2
ключи).
Затем я сохраняю закрытый ключ "name.ppk" и использую его с PuTTY (и зрелищем). Пока все хорошо. Соединение установлено успешно.
Проблема возникает, когда я пытаюсь подключиться из другой системы Linux.
Я использую опцию экспорта puttykeygen, чтобы экспортировать ключ OpenSSH и использовать его из моей другой системы Linux, но он не работает. Это всегда говорит
В доступе отказано (publickey, 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