Используя ssh, легко распечатать содержимое файла, используя
ssh host 'cat file.txt'
Когда ssh отключен и включен только SFTP, выполнение предыдущей команды приводит к следующей ошибке:
Этот сервис разрешает только sftp-соединения.
Чтобы обойти эту проблему, я мог бы создать временный файл, используя scp
или sshfs
(как показано ниже), но это выглядит очень некрасиво. Как правильно распечатать содержимое удаленного файла, когда SSH отключен?
mkdir tmpdir
sshfs host: tmpdir
cat tmpdir/file.txt
fusermount -u tmpdir
# This does not work! scp -v host:file.txt . shows
# "Sink: This service allows sftp connections only."
scp host:file.txt .
cat file.txt
rm file.txt
-k
флаг (--insecure
).Для людей, которые могут бегать
scp
, вы можете сделать это:источник
sftp username@hostname:/path/to/file.txt /dev/stdout
и приводит к «Не удалось записать в» / dev / stdout: «Недопустимый поиск». Вторая команда терпит неудачу и показывает ошибку, которая показана внизу моего вопроса.ssh -V
даетOpenSSH_6.6.1p1, OpenSSL 1.0.1h 5 Jun 2014
. Сбой scp, потому что он использует ssh под капотом, и ssh отключен (в качестве меры безопасности см., например, serverfault.com/questions/354615/allow-sftp-but-disallow-ssh )