예를 들어 원격 호스트가 로컬 시스템에 있는 것처럼 주소를 지정하는 SSH 터널을 생성할 수 있습니까? 다음 의사 예시를 입력하세요.현지의원하는 효과를 얻으세요.
- 데이터베이스 복사:
mysqldump remote | mysql local
또는mysqldump local | mysql remote
- 원격 파일에 텍스트 추가:
echo blah >> remote:file.txt
- 원격 파일 변경:
sed ... remote:file.txt
- 원격 명령을 실행합니다:
apk add blah
단일 연결이 불가능할 경우 이러한 작업을 수행하는 가장 편리한 방법은 무엇입니까?
답변1
원격 mysql에 액세스하려면 전달을 통해 localhost:12345를 사용할 수 있습니다.
ssh -Nf -L 12345:localhost:3306 user@remote
파일 작업의 경우 sshfs를 통해 원격 호스트를 마운트할 수 있습니다.
mkdir /tmp/remote
sshfs user@remote:/ /tmp/remote
echo blah >> /tmp/remote/file.txt
sed ... /tmp/remote/file.txt
원격 명령은 일반적으로 SSH를 통해 실행됩니다.
ssh user@remote command ....
단 하나의 연결로 모든 것을 할 수 있습니다이것을 ~/.ssh/config에 추가하면:
ControlMaster auto
ControlPath ~/.ssh/masters/%l%r@%h:%p
첫 번째 SSH 연결은 기본 연결이 되고 다음 연결은 이를 재사용합니다. 새로운 슬레이브 연결은 매우 빠르게 제공될 것입니다. 초기 키 교환 오버헤드 등이 없습니다.