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
Curlはcatと同じようにファイルを表示できます。特に指示がない限り、出力を表示するだけなので、ファイルを削除する必要はありません。
curl -u username:password sftp://hostname/path/to/file.txt
公開鍵認証を使用する場合:
curl -u username: --key ~/.ssh/id_rsa --pubkey sftp://hostname/path/to/file.txt
デフォルトの場所を使用する場合、--key
および--pubkey
は省略できます:
curl -u username: sftp://hostname/path/to/file.txt
ユーザー名をURLの一部にすることもできるため、最終的な結果はsshコマンドに非常に近くなります。
curl sftp://username@hostname/path/to/file.txt
scp
を実行できる人のために、これを行うことができます:
scp remotehost:/path/to/remote/file /dev/stdout