SSH 서버를 통해 로그인 후 시리얼 클라이언트 시작

SSH 서버를 통해 로그인 후 시리얼 클라이언트 시작

직렬 포트에 SSH를 연결하는 방법이 필요합니다. 쉘을 사용하여 직렬 포트에 연결된 장치가 있습니다. 기본적으로 SSH 클라이언트를 직렬 포트에 직접 연결하고 싶습니다. 기본적으로 SSH를 통해 직렬 콘솔에 연결합니다.

SSH 클라이언트 -> SSH 서버 -> 직렬 포트 연결 장치.

어떻게 해야 하나요? SSH를 직렬 포트에 연결합니다. 클라이언트는 어떤 명령도 실행해서는 안 됩니다. 직렬 콘솔에 직접 있어야 합니다.

답변1

명령줄 인수 없이 SSH 서버의 터미널 세션을 직렬 포트에 연결하는 작은 스크립트를 작성합니다. 예를 들어 cu다음 명령을 사용할 수 있습니다 .

#!/bin/sh
exec cu -l /dev/ttyS0 -s 115200  # add/modify options if needed

예를 들어 저장 /usr/local/bin/serial-connection하고 실행 파일로 표시하십시오 chmod a+x /usr/local/bin/serial-connection.

/usr/local/bin/serial-connection파일에 경로 이름을 추가합니다 /etc/shells.

직렬 연결을 위한 Linux 사용자를 만듭니다. 원하는 대로 이름을 지정할 수 있습니다 serial. 예를 들어 비밀번호를 설정하고 사용자가 정상적으로 로그인할 수 있는지 확인합니다.

마지막으로 serial사용자 쉘을 다음과 같이 변경합니다 /usr/local/bin/serial-connection.

chsh -s /usr/local/bin/serial-connection serial

이제 사용자가 로그인하면 serial사용자의 셸이 자동으로 시작되지만 실제로는 SSH 세션을 직렬 포트에 연결하는 명령입니다. 어떤 이유로든 명령이 종료되면 SSH 세션이 자동으로 종료됩니다.

연결을 종료하려면 사용자가 PuTTY 또는 유사한 도구를 사용하는 경우 물결표(물결표-점)를 입력하고, serialOpenSSH 클라이언트를 사용하는 경우 물결표-물결표를 입력해야 합니다. 우연히 OpenSSH 클라이언트는 이 문자를 이스케이프 문자로 사용하고 있습니다. 줄 시작 부분에 이 문자를 두 번 입력하면 물결표 문자가 표시됩니다.~.~~.cu~cu

관련 정보