Как сервер Linux позволяет кому-либо копировать строку (открытый ключ), использующий ssh-copy-id без аутентификации? Разве это не позволяет неизвестному пользователю копировать какой-либо злонамеренный файл на сервер?
ssh-copy-id
просто автоматизирует команды
scp .ssh/id_rsa.pub user@other-host:
ssh user@other-host 'cat id_rsa.pub >> .ssh/authorized_keys'
ssh user@other-host 'rm id_rsa.pub'
Это: это копирует Ваше локальное id_rsa.pub
файл к другому серверу и добавляет его удаленному пользователю authorized_keys
файл.
Это - просто сценарий удобства, и это требует аутентификации. Необходимо предоставить user
пароль (в other-host
) чтобы это работало. ssh-copy-id
не делает ничего больше, чем scp
и ssh
от Вашего имени поэтому, если они требуют аутентификации по паролю, ssh-copy-id
сделает так также.
Если они не знают пароля, они не могут скопировать идентификатор в сервер, так не выключайте PasswordAuthentication.
Match User user1,user2,user3
PasswordAuthentication yes
Редактирование:
Если Вы позволяете вход в систему без автора, им даже не нужен к идентификатору копии их ключ, так как они могут войти в систему так или иначе без ключа, ЕСЛИ они знают имя пользователя..