두 Linux 시스템 간에 파일을 전송할 때 SSH를 통해 원격 시스템에 연결하는 옵션을 제공하는 Nautilus와 같은 그래픽 파일 관리자를 사용하는 것이 항상 더 편하다고 느꼈습니다. 그러나 오늘은 직접 액세스할 수 없는 컴퓨터로 파일을 전송해야 합니다. 먼저 서버에 SSH를 연결한 다음 최종 대상에 SSH를 연결해야 합니다. 여기에 GUI 친화적인 파일 전송을 수행할 수 있는 방법이 아직 있습니까? 아니면 이번에는 이전 명령줄 scp로 돌아가야 합니까?
답변1
중간 호스트가 포트 전달을 허용한다고 가정하면 명령줄을 사용하여 작업의 절반을 수행하고 평소처럼 그래픽으로 수행할 수 있습니다.
sshfs -o ssh_command='ssh -J firstuser@firsthost' finaluser@finalhost:directory localdirectory
또는 실제로 ( -o ProxyJump
for와 동일)이 직접 허용되므로(그런 다음 백엔드에 제공됨) 다음과 같이 다시 작성할 수 있습니다.-J
ssh
sshfs
ssh
sshfs -o ProxyJump=firstuser@firsthost finaluser@finalhost:directory localdirectory
이는 sshfs에게 ssh 백엔드(자체가 궁극적으로 sftp 하위 시스템을 실행함)를 실행하도록 지시하고ProxyJump
이 옵션은 SSH 연결을 대상으로 투명하게 전달합니다.
이는 대신 다음을 추가하는 것과 동일합니다 $HOME/.ssh/config
.
Host finalhost
ProxyJump firstuser@firsthost
그런 다음 를 실행 sshfs finaluser@finalhost:directory localdirectory
하거나 위의 두 줄을 파일에 넣고 -F
이 파일의 옵션을 사용할 수 있습니다.sshfs
이제 디렉토리를 localdirectory
Nautilus 또는 GUI 유무에 관계없이 다른 도구와 함께 사용할 수 있습니다(그러나 일반적으로 평소처럼 실행하는 사용자만 해당 sshfs
).
아마도 이 옵션을 사용하면 $HOME/.ssh/config
GUI 도구가 평소와 같이 투명하게 작동하여 디렉터리를 마운트하므로 CLI가 필요하지 않습니다. 나는 이것을 테스트할 수 없다.