-1

У меня дома Mac работает с Lion. Я отключил пароль ssh логин; Я просто хочу использовать открытый ключ.

Я сгенерировал пару секретный / открытый ключ, но теперь я в замешательстве. Завтра я начинаю новую работу и хочу войти на мою домашнюю машину с работы. В каждом руководстве, которое я вижу, говорится: «сначала скопируйте (локальный) открытый ключ на (сервер) ... используя пароль».

Но как мне это сделать из нового места, если я отключил пароль?

Есть ли какой-нибудь способ получить доступ к моей домашней машине из любого места, если я возьму с собой один из ключей?

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

zmbp:~ dzg$ ssh -v 192.168.1.99
OpenSSH_5.2p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to 192.168.1.99 [192.168.1.99] port 22.
debug1: Connection established.
debug1: identity file /Users/dzg/.ssh/identity type -1
debug1: identity file /Users/dzg/.ssh/id_rsa type 1
debug1: identity file /Users/dzg/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.6
debug1: match: OpenSSH_5.6 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.2
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 '192.168.1.99' is known and matches the RSA host key.
debug1: Found key in /Users/dzg/.ssh/known_hosts:6
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: Trying private key: /Users/dzg/.ssh/identity
debug1: Offering public key: /Users/dzg/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Trying private key: /Users/dzg/.ssh/id_dsa
debug1: read PEM private key done: type DSA
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).

2 ответа2

1

На ноутбуке SSH-клиент не будет автоматически подбирать ключ с именем, отличным от имени по умолчанию, если вы не сообщите ему об этом. Обратите внимание, что журнал говорит:

debug1: предложение открытого ключа: /Users/dzg/.ssh/id_rsa

Другими словами, он предлагает ключ по умолчанию ~/.ssh/id_rsa, а не ключ ~/.ssh/home.

Вы должны либо использовать ssh -i ~/.ssh/home чтобы явно указать ключ, который вы хотите использовать. Кроме того, вы можете переименовать домашний ключ в id_rsa или id_dsa на ноутбуке, в зависимости от фактического типа ключа.

Также, если возможно, если у вас есть проблемы с аутентификацией по ключу SSH, найдите журналы на стороне сервера : сервер запишет точную причину сбоя при входе в систему, но не сообщит ее клиенту, поскольку клиент только что не смог доказать его личность.

Насколько известно серверу, неаутентифицированный клиент может быть злоумышленником: нет смысла давать ему / ей больше подсказок, чем это абсолютно необходимо.

0

Ваше понимание верно - вам не нужно находиться в удаленном месте, чтобы скопировать открытый ключ, вы даже можете использовать кроссовки.

Хотя вам нужно будет получить доступ к ssh-порту домашней машины.

Несколько советов в моем блоге: безопасные советы ssh

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .