Это можно сделать относительно легко, используя 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
создать архив, используя аргументы Из вашего журнала:
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)
.
ssh не может найти ключ, который вы предложили с опцией -i, поэтому он пробует другие доступные ключи. У вас есть действительный ключ в каталоге.ssh, который принят, и соединение установлено. Если вы не хотите, чтобы этот ключ использовался, удалите его или защитите парольной фразой, чтобы вам пришлось указать парольную фразу, чтобы разрешить соединение.
Вы не подключаетесь с «неправильным ключом», ключ, который он использовал, находится в вашем каталоге.ssh и действителен для подключения.