scpまたはsftpを介してリモートファイルをstdoutに転送する方法は?

scpまたはsftpを介してリモートファイルをstdoutに転送する方法は?

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

ベストアンサー1

を実行できるユーザーは、scp次のことができます。

scp remotehost:/path/to/remote/file /dev/stdout

おすすめ記事