передача переменных из ls в tar через xargs

Любая система n*x с сервисом SSH (не команда ssh, а sshd) полагается на существующую, доступную учетную запись и файл, содержащий действительные открытые ключи для этой учетной записи (= пользователя).

И папка ~/.ssh, и сам ключ должны быть доступны только этому конкретному пользователю. Ключ должен иметь chmod на 600, папка должна иметь 700, так что она недоступна никому, кроме пользователя (будьте осторожны, чтобы не установить значение 600, потому что тогда вы не сможете прочитать папку самостоятельно). То же самое для файла authorized_keys: Я бы рекомендовал 600.

Если файл, содержащий ключ, не соответствует запрашиваемому ограничению (доступ есть только у вас), вход по ssh, скорее всего, завершится неудачей.

Кстати (немного не по теме): В этом случае, возможно, @jocala мог бы сгенерировать одну пару и использовать ее на обеих машинах. Если вы используете несколько машин разных клиентов, очень рекомендуется иметь несколько ключей. Чтобы облегчить выбор ключа, вы всегда можете создать (и заполнить) файл ~/.shh/config вместо постоянного указания ключа, используя ssh -i [путь_к_ключу] name@server.dom.

9
20.11.2015, 15:18
1 ответ

Согласно в этом сообщении , лучше использовать r вместо c , в случае, если xargs разбивает входные данные, давая tar-файл, содержащий только последний фрагмент. Поэтому лучшим решением было бы:

rm -f t.tar 2>/dev/null  # remove tar if there
ls -t | head -n 3 | xargs tar -rf t.tar
1
27.01.2020, 20:07

Теги

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