SSLH 또는 nginx가 직렬 포트에서 수신 대기하고 직렬 포트를 통해 VPN, HTTP(S) 또는 SSH(실제, 시뮬레이션 및/또는 가상)를 얻도록 합니다.

SSLH 또는 nginx가 직렬 포트에서 수신 대기하고 직렬 포트를 통해 VPN, HTTP(S) 또는 SSH(실제, 시뮬레이션 및/또는 가상)를 얻도록 합니다.

더 많은 서비스를 제공하고 싶습니다.- 다음을 통해 로그인할 수 있습니다.. 기본적으로 저는 강력한 암호화/인증을 갖춘 전통적인 네트워크 청취 서비스를 머신에 제공하고 싶습니다.시리얼을 통해 이용 가능합니다. 내가 처음 갔던 곳은sslh, 하나의 포트에서 여러 서비스를 재사용하도록 설계되었기 때문입니다. 나의 두 번째 GoTo는 ".

이는 주로 귀하가 처한 상황에 적용됩니다.

  • 하이퍼바이저 또는 가상 머신의 기본 네트워크 연결 디버그/구성또한 기계에 독립적으로 연결됩니다.두번째, (실제 또는 가상) 직렬 연결을 통해 [통과하다지능형 제조 관리 인터페이스] 도착하다.
  • 신뢰할 수 없는 네트워크/인프라의 콘솔 서버를 통해서만 액세스하는 동안 전송의 편안함/보안을 보장하고 싶습니다. (그리고 난 엉망이 되고 싶지 않아그리고 lrzsz더. )

나는 다음 해결 방법/절반 솔루션을 알고 있으며 제안 사항을 선점하기 위해 이를 나열했습니다.

  • 달리기존재하다양쪽 끝: 알겠습니다. 하지만 추가 라우팅, 이름 지정, 주소 할당/생성 등을 처리해야 합니다. 현재 제가 사용하고 있는 옵션입니다. 하지만 이러한 추가 네트워크를 모두 설정하는 것은 피하고 싶습니다.
  • 달리기 위키피디아, 좋다여기: 작동 원리는 다음과 유사합니다., 그러나 나이가 들었습니다.

PPPd/slirp를 실행하려면 이 링크를 통해 VPN, SSH 및/또는 HTTPS를 실행해야 합니다. (알아요PPP 암호화 가능성하지만 약하거나EAP-TLS, 하지만 더 많은 그룹 자격 증명을 관리하고 싶지 않습니다)

이 "직렬 연결"을 통해 사용하고 싶은 주요 "서비스"는 대화형 셸, 파일 전송 및 가상 머신/컨테이너에 대한 HTTP 등입니다. "호스트 위 또는 뒤에서".

그래서, 얻으려고 노력했어요"직렬 듣기"를 위해 "전경 모드"를 사용하십시오 -f. 즉,-i또한 다음과 같은 다양한 버전의 "inetd" 옵션을 사용합니다 .

socat -d -d file:/dev/ttyS0,b115200,raw,ignoreeof,echo=0 SYSTEM:'sslh -i --ssh 127.0.0.1:22 --http 127.0.0.1:80'

그러나 이 만트라에서는sslh"--listen" 에서 행복하게 실행했음에도 불구하고 옵션 형식에 대해 불평했기 127.0.0.1:2222때문에 다음과 같은 다양한 버전을 시도했습니다.

socat -d -d file:/dev/ttyS0,b115200,raw,ignoreeof,echo=0 tcp:127.0.0.1:2222

이제 socat작동하므로 다음 변형을 사용하여 다른 쪽 끝에서 연결을 시도했지만 성공하지 못했습니다.

ssh foo -o "Proxycommand=socat -d -d -d - /dev/ttyUSB0,b115200,ignoreeof,raw,echo=0"

제안을 따르세요이는 덜 효과적인 시도입니다.또는 좋아한다이것:

ssh -v foo -o "ProxyCommand bash -c 'exec 3<>/dev/ttyUSB0; cat <&3 & cat >&3'"

나는 노력했다이 확인되지 않은 답변 "Serial to SSH"에서 제안한대로안에ServerFault의 유사한 비활성 문제. 정답은"~해야 한다직업”이지만 나에게는 그렇지 않습니다.

나는 언급했다제목에는 이미 재사용된 nginx 서비스가 있으므로(SSL[-ALPN]/HTTPS/SSLH(SSH,OpenVPN,HTTP))와 유사이것&이것일하고 행복하세요듣기 unix:소켓, 그러나 동일한 구문을 사용하여 직렬 포트를 사용할 수는 없습니다. 또한 /dev/ttySX.UNIX-CONNECT:/run/nginx-XYZ.socksocat

생각하다, 제 질문은 socat먼저 패킷이 왼쪽(= SSH 클라이언트)에서 도착할 때까지 기다린 다음 두 번째 측면(SSH 서버)에 대한 열기 명령만 트리거하는 대신 처음에 양쪽을 직접 여는 것입니다.

간단히 말해서, 어떻게 얻을 수 있나요?,,또는다음과 같은 도우미 프로그램 유무에 관계없이 직렬 포트를 듣습니다.?일반적인 해결책이 있습니까?

대안: 다음 예를 제공하게 되어 기쁩니다../config/- 직렬 양쪽을 위한 통합 도구로 pppd자동 생성(IPv6?) 주소를 투명하고 자동으로 만듭니다.

참고: 온보드 직렬 포트는 일반적으로 1.5MBits/s를 제공하며 대부분의 USB 직렬 포트 어댑터는 3MB/s를 지원합니다. 이는 /etcSSH 및 "rsync-over-ssh 백업"에 충분히 빠릅니다. 압축도 있습니다.

참고 2: 직렬을 통해 하나의 동시 연결만 얻을 수 있으며 포트를 다시 사용하기 전에 시간 초과를 기다려야 할 수도 있지만 1개의 SSH/TCP-OpenVPN은 해당 연결에서 필요한 모든 것을 재사용할 수 있습니다.

관련 정보