https://i.stack.imgur.com/YTOvt.png
목표: SSH, SCP를 통해 클라이언트에서 "직접" "서버 B"에 연결해야 합니다.
"서버 B"는 "서버 A" 옆에 있습니다. 예: 동일한 서브넷에 있지만 "서버 A"만 인터넷에서 액세스할 수 있으므로 "서버 B"는 간접적으로만 액세스할 수 있습니다.
나는 양말을 사용하는 방법을 알고 있습니다:
양말 설치
yum install tsocks
구성하세요. [기본적으로 구성 파일이 없습니다..]
vim /etc/tsocks.conf
server = 127.0.0.1
server_port = 4000
SSH 터널 생성
ssh -v -fND localhost:4000 USERNAME@SERVER-A
생성되었는지 확인해보세요
ps aux | fgrep -i ssh
USER 8894 0.0 0.0 9780 708 ? Ss 11:58 0:00 ssh -v -fND localhost:4000 USERNAME@SERVER-A
netstat -tulpn | fgrep -i ssh
tcp 0 0 127.0.0.1:4000 0.0.0.0:* LISTEN 8894/ssh
양말 사용법
tsocks ssh root@SERVER-B
SSH 터널 종료
kill `pgrep -f 'D localhost:4000'`
나에게 그것은 완전히 괜찮습니다. 매우 좋은.
질문: 여러 SSH 터널(예: tsocks)을 사용하는 방법은 무엇입니까?
내 말은 여러 SSH 터널을 사용해야 한다는 것입니다(물론 다른 포트에서).
여러 SSH 터널(포트)을 "기억"하도록 tsock을 설정하는 방법은 무엇입니까?
"/etc/tsocks.conf" 파일은 하나의 서버만 허용합니다. 문제 없습니다. 왜냐하면 어딘가로 ssh 터널을 보내려면 127.0.0.1을 거쳐야 하지만 1 포트 = 1 ssh 터널이기 때문에 더 많은 포트가 필요하기 때문입니다. 여러 SSH 터널을 하나의 포트에 바인딩할 수 없습니다.
저는 "데스크톱 컴퓨터"에서 Fedora 14를 사용하고 있습니다.
감사합니다!
답변1
tsocks
ssh -D
여러 SOCKS 서비스가 허용되며, 원하는 각 대상에 대해 서로 다른 SOCKS 서비스를 사용하도록 설정할 수 있습니다 (즉, 서로 다른 포트에서 다르게 수신 대기). man tsocks.conf
자세한 내용은.
가정에는 다음이 /etc/tsocks.conf
포함됩니다.
path {
server = localhost
server_port = 1081
reaches = <ip-address-of-server-b>/32
}
path {
server = localhost
server_port = 1082
reaches = <ip-address-of-server-d>/32
}
그럼 넌 달릴 거야
ssh -fND :1081 server-a & sleep 1 ; tsocks ssh server-b
ssh -fND :1082 server-c & sleep 1 ; tsocks ssh server-d