더 많은 서비스를 제공하고 싶습니다.직렬 콘솔- 다음을 통해 로그인할 수 있습니다.직렬 포트. 기본적으로 저는 강력한 암호화/인증을 갖춘 전통적인 네트워크 청취 서비스를 머신에 제공하고 싶습니다.ㅏ시리얼을 통해 이용 가능합니다. 내가 처음 갔던 곳은sslh
, 하나의 포트에서 여러 서비스를 재사용하도록 설계되었기 때문입니다. 나의 두 번째 GoTo는 "nginx.
이는 주로 귀하가 처한 상황에 적용됩니다.
- 하이퍼바이저 또는 가상 머신의 기본 네트워크 연결 디버그/구성ㅏ또한 기계에 독립적으로 연결됩니다.두번째, (실제 또는 가상) 직렬 연결을 통해 [랜통과하다지능형 제조 관리 인터페이스] 도착하다ㅏ.
- 신뢰할 수 없는 네트워크/인프라의 콘솔 서버를 통해서만 액세스하는 동안 전송의 편안함/보안을 보장하고 싶습니다. (그리고 난 엉망이 되고 싶지 않아커밋그리고
lrzsz
더. )
나는 다음 해결 방법/절반 솔루션을 알고 있으며 제안 사항을 선점하기 위해 이를 나열했습니다.
- 달리기피어 투 피어존재하다양쪽 끝: 알겠습니다. 하지만 추가 라우팅, 이름 지정, 주소 할당/생성 등을 처리해야 합니다. 현재 제가 사용하고 있는 옵션입니다. 하지만 이러한 추가 네트워크를 모두 설정하는 것은 피하고 싶습니다.
- 달리기잠 위키피디아, 좋다여기: 작동 원리는 다음과 유사합니다.피어 투 피어, 그러나 나이가 들었습니다.
PPPd/slirp를 실행하려면 이 링크를 통해 VPN, SSH 및/또는 HTTPS를 실행해야 합니다. (알아요PPP 암호화 가능성하지만 약하거나EAP-TLS, 하지만 더 많은 그룹 자격 증명을 관리하고 싶지 않습니다)
이 "직렬 연결"을 통해 사용하고 싶은 주요 "서비스"는 대화형 셸, 파일 전송 및 가상 머신/컨테이너에 대한 HTTP 등입니다. "호스트 위 또는 뒤에서"ㅏ.
그래서, 얻으려고 노력했어요SSLH"직렬 듣기"를 위해 "전경 모드"를 사용하십시오 -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'
그러나 이 만트라에서는SSLHsslh
"--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제목에는 이미 재사용된 nginx 서비스가 있으므로(SSL[-ALPN]/HTTPS/SSLH(SSH,OpenVPN,HTTP))와 유사이것&이것일하고 행복하세요듣기 unix:
소켓, 그러나 동일한 구문을 사용하여 직렬 포트를 사용할 수는 없습니다. 또한 /dev/ttySX
.UNIX-CONNECT:/run/nginx-XYZ.sock
socat
나생각하다, 제 질문은 socat
먼저 패킷이 왼쪽(= SSH 클라이언트)에서 도착할 때까지 기다린 다음 두 번째 측면(SSH 서버)에 대한 열기 명령만 트리거하는 대신 처음에 양쪽을 직접 여는 것입니다.
간단히 말해서, 어떻게 얻을 수 있나요?SSH,SSLH,또는nginx다음과 같은 도우미 프로그램 유무에 관계없이 직렬 포트를 듣습니다.소캇?일반적인 해결책이 있습니까?
대안: 다음 예를 제공하게 되어 기쁩니다..
SSH/config
/체계- 직렬 양쪽을 위한 통합 도구로 pppd
자동 생성(IPv6?) 주소를 투명하고 자동으로 만듭니다.
참고: 온보드 직렬 포트는 일반적으로 1.5MBits/s를 제공하며 대부분의 USB 직렬 포트 어댑터는 3MB/s를 지원합니다. 이는 /etc
SSH 및 "rsync-over-ssh 백업"에 충분히 빠릅니다. 압축도 있습니다.
참고 2: 직렬을 통해 하나의 동시 연결만 얻을 수 있으며 포트를 다시 사용하기 전에 시간 초과를 기다려야 할 수도 있지만 1개의 SSH/TCP-OpenVPN은 해당 연결에서 필요한 모든 것을 재사용할 수 있습니다.