Почему я могу подключиться к удаленному компьютеру по SSH даже с неправильными ключами?

Это можно сделать относительно легко, используя lsдля создания списка существующих каталогов, а затем переходя через xargsв команду tar.

раствор:

ls -d here_is_a_dir here_is_another_one yet_another_dir 2> /dev/null | xargs tar -czf archive.tgz

поломка:

  • ls -dтолько список каталогов
  • here_is_a_dir here_is_another_one yet_another_dirсписок каталогов для проверки
  • 2> /dev/nullнаправить stderr в /dev/null, чтобы мы получали только вывод stdout (нет отсутствующих каталогов)
  • | xargsпревращает список существующих каталогов из предыдущей команды в аргументы
  • tar -czf archive.tgzсоздать архив, используя аргументы
0
24.08.2021, 12:17
2 ответа

Из вашего журнала:

debug1: Next authentication method: publickey
debug1: Offering public key: federico@federico RSA SHA256:E96Hu2Ee+IyAuoZ06GxTvo+ZmAkzqfihbAKkFqxU1AU agent
debug1: Server accepts key: federico@federico RSA SHA256:E96Hu2Ee+IyAuoZ06GxTvo+ZmAkzqfihbAKkFqxU1AU agent
debug1: Authentication succeeded (publickey).

Это означает, что используется ключ вашего SSH-агента. Я предполагаю, что это действительный ключ, который вы недавно использовали и который вы либо вручную добавили в агент, либо который был добавлен из-за использования AddKeysToAgent yesв вашем файле ~/.ssh/config.

Удалите все удостоверения из вашего SSH-агента и повторите попытку:ssh-add -D. Либо добавьте IdentityAgent noneв свою конфигурацию SSH или используйте ssh -o IndentityAgent=noneпри вызове ssh.

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

3
24.08.2021, 14:33

ssh не может найти ключ, который вы предложили с опцией -i, поэтому он пробует другие доступные ключи. У вас есть действительный ключ в каталоге.ssh, который принят, и соединение установлено. Если вы не хотите, чтобы этот ключ использовался, удалите его или защитите парольной фразой, чтобы вам пришлось указать парольную фразу, чтобы разрешить соединение.

Вы не подключаетесь с «неправильным ключом», ключ, который он использовал, находится в вашем каталоге.ssh и действителен для подключения.

2
24.08.2021, 13:19

Теги

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