Как скопировать открытый ключ на сервер, который не поддерживает пароль?

Вы не можете. По крайней мере, не легко.

Windows имеет свою собственную «оболочку» - и она использует «пакетные» файлы, отличные от bash.

Windows использует файлы .exe , а Linux использует .elf .

Это затрудняет установку программного обеспечения. Есть некоторые решения - вы можете использовать некоторые кроссплатформенные инструменты, такие как Java, которые будут проверять, на какой ОС он работает, и применять определенные сценарии, но для этого вам потребуется установить Java, если ее нет, и мы снова вернемся к установке. проблема... Вы также можете использовать веб-браузер, чтобы узнать, на какой ОС он работает (если вы устанавливаете с веб-страницы); Самый простой способ - и самый разумный, imho - это спросить у пользователя ОС / предоставить ему соответствующий пакет, в зависимости от его ОС. Достаточно сложно правильно упаковать программу, предназначенную для запуска во всех дистрибутивах Linux.

1
24.04.2018, 13:30
2 ответа

Вы не можете. Вам нужно как-то аутентифицироваться, чтобы иметь возможность получить доступ к серверу (в этом случае, чтобы поместить на него свой публичный ключ ).

Сначала вы настраиваете аутентификацию по открытому ключу и копируете открытый ключ на сервер, затем отключаете аутентификацию по паролю.

1
27.01.2020, 23:23

Если новый сервер поддерживает только аутентификацию по ключу, вы поспешили, как заявил @dr01.

Предполагая, что ваш новый сервер по-прежнему разрешает соединения с паролем, единственный возможный «обмен ключами» — это:

1 )сгенерируйте свой ключ наnewmachine
2 )войдите на существующий сервер, используя уже настроенный ключ
3)scp newuser@newmachine:/path/to/generated/pubkey ~/newuser_newmachine_pubkey
4)cat ~/newuser_newmachine_pubkey >> ~/.ssh/authorized_keys

Это вручную делает то же самое, что и ssh -copy -id, за исключением того, что «вытягивает» ключ из нового ящика, а не ssh -копирует -id «отправляет» в удаленный сервер из новой коробки.

2
27.01.2020, 23:23

Теги

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