Одинаковые ключи ssh на двух разных машинах ведут себя по-разному (запрос пароля)?

Возможно, вы используете неправильную раскладку клавиатуры. Что у вас на /etc/vconsole.conf ? Это только в Arch или в других дистрибутивах тоже есть?

0
10.03.2018, 18:33
1 ответ

Вам никогда не нужно копировать весь каталог ~/.ssh, только содержимое общедоступной части вашего ключа (s ). Если включена аутентификация по паролю, проще всего будет

user@darkstar ~ $ ssh-copy-id remoteusername@remotehostname

И пусть ssh позаботится о том, чтобы все было в нужном месте.

Если вам нужно сделать это вручную, или если у вас нет аутентификации по паролю, и вы должны попросить системного администратора установить ключ на место и т. д., тогда вам нужно скопировать файл ~/.ssh/id_rsa.pub. Как только это будет на удаленной машине, просто добавьте содержимое к тому, что уже есть в файле ~/.ssh/authorized_keysпод соответствующей учетной записью пользователя. Простой cat id_rsa.pub >> ~/.ssh/authorized_keysбудет работать.

Наконец, вы хотите убедиться, что разрешения на закрытый ключ, файл authorized_keysи каталоги ~/.sshна обеих машинах установлены надлежащим образом -каталог ~/.sshдолжен быть установлен на 0700, а файлы внутри него должно быть 600.

Чтобы устранить проблему , войдите на удаленный компьютер, переименуйте существующий каталог ~/.sshво что-то другое, повторно -создайте его и правильно установите разрешения, выйдите из системы и используйте ssh-copy-idиз над. В таком случае,вы должны иметь возможность ssh, используя свой ключ и любую парольную фразу, связанную с ним.

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

Файл id _rsa.pub для любой заданной комбинации помещается в авторизованный файл ключей _на удаленной машине. Чтобы этот ключ работал, у вас должен быть соответствующий закрытый ключ на машине, с которой вы подключаетесь. Вы можете иметь дело с несколькими ключами, разместив их в разных файлах и используя опцию -iдля ssh (и др. ), чтобы указать, к какому закрытому ключу подключаться.

Итак, используя вашу информацию, вам нужно получить файл закрытого ключа с ноутбука (возможно~/.ssh/id_rsa)и поместить его на сервер B, назвав его как-то так~/.ssh/laptop_id_rsa). Когда вы используете ssh с сервера B на сервер A, вы можете использовать ssh -i ~/.ssh/laptop_id_rsa user@serverA. Если вы хотите подключиться по ssh от A к B, повторите процесс, поместив закрытый ключ на A. В качестве альтернативы вы можете использовать сервер B в качестве хоста / туннеля для перехода, поэтому, как только вы подключитесь к нему с правильными параметрами, вы можете затем с вашего ноутбука ssh напрямую к Сервер А. Это хранит ваш файл закрытого ключа только на вашем ноутбуке (хорошо для безопасности, вы не хотите, чтобы копии ходили повсюду, особенно с ключом без пароля!)

Вы также, вероятно, захотите настроить файл ~/.ssh/config, чтобы вы могли просто выполнить ssh serverAи использовать соответствующее имя хоста, порт, имя пользователя, идентификационный файл и т. д.

4
28.01.2020, 02:24

Теги

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