Za pomocą ssh można łatwo wydrukować zawartość pliku
ssh host 'cat file.txt'
Gdy ssh jest wyłączone i tylko SFTP jest włączone, uruchomienie poprzedniego polecenia powoduje następujący błąd:
Ta usługa zezwala tylko na połączenia sftp.
Aby obejść ten problem, mogłem utworzyć plik tymczasowy za pomocą scp
lub sshfs
(jak pokazano poniżej), ale wygląda to naprawdę brzydko. Jaki jest właściwy sposób wydrukowania zawartości pliku zdalnego, gdy SSH jest wyłączony?
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
flagę (--insecure
).Dla osób, które potrafią biegać
scp
, możesz to zrobić:źródło
sftp username@hostname:/path/to/file.txt /dev/stdout
i powoduje „Nie można pisać do” / dev / stdout: Nielegalne wyszukiwanie ”. Drugie polecenie kończy się niepowodzeniem i pokazuje błąd wyświetlany na dole mojego pytania.ssh -V
dajeOpenSSH_6.6.1p1, OpenSSL 1.0.1h 5 Jun 2014
. scp kończy się niepowodzeniem, ponieważ używa ssh pod maską, a ssh jest wyłączone (jako środek bezpieczeństwa, patrz np. serverfault.com/questions/354615/allow-sftp-but-disallow-ssh )