Аутентификация ключа SSH, смотрящая на неправильное место?

Я довольно плохо знаком с миром Linux, и я настраиваю сервер Ubuntu 16.04.

Я смог генерировать использование ключей ssh-keygen и сохраненный ключ /home/ther4nd0moo/.ssh/id_rsa

Я затем использовал ssh-copy-id ther4nd0moo@my_ip и удостоверился, что authorized_keys файл находится в правильном месте.

Когда я использую ssh -v ther4nd0moo@my_ip на другом компьютере, некоторые странные вещи всплывающее окно (мне, по крайней мере)

OpenSSH_7.2p2 Ubuntu-4ubuntu2.1, OpenSSL 1.0.2g  1 Mar 2016
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 10.0.0.189 [10.0.0.189] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /home/edgar/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/edgar/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/edgar/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/edgar/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/edgar/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/edgar/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/edgar/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/edgar/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.1
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.2p2 Ubuntu-4ubuntu2.1
debug1: match: OpenSSH_7.2p2 Ubuntu-4ubuntu2.1 pat OpenSSH* compat 0x04000000
debug1: Authenticating to 10.0.0.189:22 as 'need206'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256@libssh.org
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:YzQwUoOherHwxOOhzEhue7ecx+OMi0FpmIcSONi8X1o
debug1: Host '10.0.0.189' is known and matches the ECDSA host key.
debug1: Found key in /home/edgar/.ssh/known_hosts:3
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<rsa-sha2-256,rsa-sha2-512>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/edgar/.ssh/id_rsa
debug1: Trying private key: /home/edgar/.ssh/id_dsa
debug1: Trying private key: /home/edgar/.ssh/id_ecdsa
debug1: Trying private key: /home/edgar/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).

То, что прослушивает меня, - то, как это ищет файл идентификационных данных и закрытый ключ в /home/edgar/ (edgar быть моим именем, которое я вставил при установке сервера). В попытке решить это, скопировал ключевое содержание с /home/ther4nd0mmoo/.ssh и созданный папка /home/edgar/.ssh который является, вероятно, почему это имеет сообщение Found key in /home/edgar/.ssh/known_hosts:3 но я все еще не могу получить доступ к серверу.

Я попробовал ssh -i /home/ther4nd0moo/.ssh/id_rsa ther4nd0moo@my_ip и мой терминал говорит, что это not accessible: No such file or directory

Я делаю что-то не так?

2
задан 31 March 2017 в 17:56

1 ответ

Ключи SSH работают при наличии Закрытого ключа на Вашей локальной машине и соответствующего Открытого ключа на удаленной машине.

Так - при выполнении ssh-keygen Вы создали 2 ключа: Частное (~/.ssh/id_rsa) и Общественность (~/.ssh/id_rsa.pub).

необходимо скопировать содержание Лобкового файла ключей (~/.ssh/id_rsa.pub) от Локальной машины, в ~/.ssh/authorizedkeys файл на Удаленной машине. Просто добавьте его к новой строке.

, Если Вы входите в свою Удаленную машину от ДРУГОЙ Локальной машины, затем Вы должны будете или скопировать id_rsa файл с исходной машины на 2-ю Локальную машину, или (лучше) создать другую частную/общедоступную пару ключей для 2-й Локальной машины и затем скопировать Открытый ключ для 2-й машины к Вашему Удаленному серверу.

Удаленный сервер может иметь любое количество Открытых ключей в ~/.ssh/authorizedkeys, и это - хорошая практика (я верю) иметь другую пару ключей для каждой из Ваших Локальных машин.

, Если Вам нужно к ssh с УДАЛЕННОЙ машины на другую машину (говорят, имеете ли Вы к ssh назад с Удаленной машины на Ваш ноутбук), затем Вы установили бы УДАЛЕННУЮ машину со своей собственной частной/общедоступной парой ключей и скопировали бы Открытый ключ Удаленной машины в Ноутбук ~/.ssh/authorizedkeys файл.

Думают о нем как это: Каждая машина может иметь дверной ключ (закрытый ключ), и любая машина имеет замочную скважину (authorizedkeys файл) - если другая машина имеет замочную скважину, устанавливающую, в который вписывается Ваш ключ, можно получить доступ. Для работы в обратном направлении необходимо установить другой ключ и настройки замочной скважины. (вероятно, не очень хорошо объясненный - но я надеюсь, что это помогает!).

Эти ssh-copy-id команда является в основном просто командой короткого пути для сохранения выполнения его вручную.

я лично предпочитаю копировать открытый ключ вручную просто, потому что мне нравится делать вещи твердый путь. ;)

3
ответ дан 2 December 2019 в 02:47

Другие вопросы по тегам:

Похожие вопросы: