En utilisant ssh, il est facile d'imprimer le contenu d'un fichier en utilisant
ssh host 'cat file.txt'
Lorsque ssh est désactivé et que seul SFTP est activé, l'exécution de la commande précédente donne l'erreur suivante:
Ce service autorise uniquement les connexions sftp.
Pour contourner ce problème, je pourrais créer un fichier temporaire à l'aide de scp
ou sshfs
(comme indiqué ci-dessous), mais cela semble vraiment moche. Quelle est la bonne façon d'imprimer le contenu d'un fichier distant lorsque SSH est désactivé?
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
indicateur (--insecure
).Pour les personnes qui peuvent courir
scp
, vous pouvez faire ceci:la source
sftp username@hostname:/path/to/file.txt /dev/stdout
et se traduit par "Impossible d'écrire dans" / dev / stdout ": Recherche illégale". La deuxième commande échoue et montre l'erreur qui est affichée au bas de ma question.ssh -V
donneOpenSSH_6.6.1p1, OpenSSL 1.0.1h 5 Jun 2014
. scp échoue car il utilise ssh sous le capot, et ssh est désactivé (par mesure de sécurité, voir par exemple serverfault.com/questions/354615/allow-sftp-but-disallow-ssh )