Как настроить ssh для открытого ключа с любой машины

Как настроить ssh для открытого ключа с любой машины

У меня дома 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).

решение1

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

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

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

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

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

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

решение2

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

Хотя вам понадобится доступ к ssh-порту домашнего компьютера.

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

Связанный контент