Я столкнулся с этот сообщение, которое предлагает добавить следующее в .ssh/authorized_keys
чтобы заставить scp
команда:
no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="scp -v -r -d -t ~/CONTENT" ssh-rsa AAAAMYRSAKEY...
Решение отлично работает, но я не смог найти никакой информации о -d
и -t
варианты в scp
руководство. После некоторых поисков мне удалось найти другой пост которые проливают свет:
scp
-t
обычно является принимающей стороной передачи scp. Он запускается другим экземпляром scp, который собирается отправлять файлы принимающей стороне. Отправляющий экземпляр scp запускает получатель, отправляет строку C, чтобы отметить, что файл приходит, а затем отправляет данные для файла.
Любая идея, какой эффект -d
вариант есть?
Кроме того, из любопытства, знает ли кто-нибудь, где я могу найти официальное описание. Мне не удалось ничего найти в исходном коде.
В -d
флаг - это флаг сервера, например -t
. В данном случае это означает, что целью должен быть каталог (а не обычный файл) - попытки scp
в файл, а не в каталог, будут убиты.
В текущем исходном коде OpenSSH -d
пойман Вот, наборы в targetshouldbedirectory
флаг, а затем проверяется Вот. Если verifydir()
ложно, процесс (на стороне хоста) убит.
n.b. Я не смог найти официального описания, но нашел его в источнике, на который я указал.