Следующая команда помещает содержимое локального файла id_rsa.pub
в authorized_keys
файл на хосте.
Но я не совсем понимаю, как cat
и |
работают вместе для достижения этой цели. Может кто-нибудь объяснить?
cat .ssh/id_rsa.pub | ssh b@B 'cat >> .ssh/authorized_keys'
решение1
Команда cat
выводит содержимое файла .ssh/id_rsa.pub
; |
(канал) получает этот текстовый вывод, а затем отправляет (т.е. передает по конвейеру) текст в ssh
.
Затем ssh
использует этот текст в качестве входных данных для cat >> .ssh/authorized_keys
команды.
решение2
Для cat
команды, если имя файла не указано, оно берется из stdin. В этом случае это вывод |
.