Я подключался к одному из моих серверов Linux со своей рабочей станции MS Windows с помощью PuTTY (я сгенерировал их в MS Windows с помощью одного из инструментов, связанных с PuTTY, я не помню, какие параметры я использовал при генерации ключей). Сейчас пытаюсь подключиться к тот же сервер с моей рабочей станции Ubuntu GNU / Linux. У меня уже есть пары закрытых / открытых ключей в моем ~ / .ssh:
id_rsa
id_rsa.pub
Теперь в дополнение к тем парам закрытого / открытого ключей, которые у меня уже есть, я также хочу добавить пары закрытый / открытый ключи для подключения к моему серверу Linux. Для PuTTY у меня было два файла, которые позволили мне успешно подключиться к моему серверу Linux:
emrePrivate.ppk
emrePublic.pub
Я скопировал указанные выше файлы в свой каталог ~ / .ssh. Затем я попытался подключиться к своему серверу с помощью следующей команды:
$ ssh -v -i /home/emre/.ssh/emrePrivate.ppk emre@yafz.org
Но я вижу, что он пытается использовать неправильный открытый ключ. Вот результат:
OpenSSH_5.3p1 Debian-3ubuntu4, OpenSSL 0.9.8k 25 Mar 2009
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to yafz.org [109.74.204.147] port 22.
debug1: Connection established.
debug1: identity file /home/emre/.ssh/emrePrivate.ppk type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.1p1 Debian-6ubuntu2
debug1: match: OpenSSH_5.1p1 Debian-6ubuntu2 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu4
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'yafz.org' is known and matches the RSA host key.
debug1: Found key in /home/emre/.ssh/known_hosts:3
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: emre.sevinc@gmail.com
debug1: Authentications that can continue: publickey
debug1: Offering public key: /home/emre/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Trying private key: /home/emre/.ssh/emrePrivate.ppk
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Enter passphrase for key '/home/emre/.ssh/emrePrivate.ppk':
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Enter passphrase for key '/home/emre/.ssh/emrePrivate.ppk':
Как видите, он не принимает мою кодовую фразу. Я также пытался скопировать emrePrivate.ppk в id_rsa, а затем emrePublic.pub в id_rsa.pub, но мне все еще не удалось подключиться к моему серверу Linux.
Особенно меня беспокоят эти строки:
debug1: Offering public key: emre.sevinc@gmail.com
debug1: Authentications that can continue: publickey
debug1: Offering public key: /home/emre/.ssh/id_rsa
Но я не мог найти, как это исправить.
Любые идеи?
Ваш открытый ключ должен находиться в ~ / .ssh / authorized_keys в целевом поле. Если вы хотите, чтобы в нем было несколько ключей, просто скопируйте их в целевое поле и добавьте их следующим образом:
cat id_rsa.pub >> ~/.ssh/authorized_keys
Также прочтите эта информация о совместимости ключей шпатлевки и о том, как конвертировать ключи.