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
답변
컬은 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