X 없이 원격 화면에 액세스하는 SSH

X 없이 원격 화면에 액세스하는 SSH

SSH를 사용하여 화면에 연결된 원격 컴퓨터에 액세스해야 합니다. 문제는 SSH를 통해 시작한 프로그램이 원격 화면( tail, htop, slurm, ...) 에 표시되어야 한다는 것입니다.

원격 컴퓨터에는 X가 없고 일반 텍스트 터미널만 있습니다.

화면에 나타나는 원격 컴퓨터에서 명령을 어떻게 실행할 수 있나요?

답변1

Afaik, 원격 화면의 콘솔에서는 SSH에 직접 쓸 수 없습니다.

그러나 를 사용하여 이를 우회하는 것이 가능합니다 screen. 연결한 PC에 대한 초기 액세스만 필요합니다.

  1. 데스크탑 PC에서 screen다음 명령을 사용하여 세션을 엽니다.screen -s sessionName
  2. 그런 다음 에서 SSH다음 명령을 사용하여 이 셸에 연결할 수 있습니다.screen -x sessionName

답변2

유닉스 시스템의 텍스트 모드 콘솔은 일반적으로 TTY 장치를 통해 액세스할 수 있습니다. Linux에서는 일반적으로 /dev/console 또는 /dev/ttyN에 액세스합니다. 여기서 "N"은 1로 시작하는 숫자입니다.이 페이지Linux 콘솔을 나타내는 TTY 장치에 대한 매우 포괄적인 설명을 제공합니다.

TTY 장치에는 다른 파일과 마찬가지로 소유자 및 파일 권한이 있으며 이러한 사항으로 인해 TTY 장치에 액세스할 수 있는 사람이 제한될 수 있습니다. 예를 들어 내 시스템에는 다음이 표시됩니다.

$ ls -l /dev/console
crw-------  1 myid  staff    0,   0 Oct 27  2014 /dev/console

현재 저는 콘솔 장치를 소유하고 있으며 권한은 600으로 설정되어 있습니다. 즉, 내 계정과 루트만 여기에 쓸 수 있습니다. 콘솔의 소유권은 현재 콘솔에 로그인된 계정에 속하는 것이 일반적입니다.

루트이거나 장치를 소유하고 있거나 장치에 액세스할 수 있도록 권한이 설정되어 있기 때문에 관련 TTY 장치에 액세스할 수 있다고 가정하면 다른 문자 장치처럼 해당 TTY 장치에 읽거나 쓸 수 있습니다.

$ tail -f /var/log/messages > /dev/console

예를 들어 이 명령은 실행되어 tail콘솔 장치에 출력을 씁니다.

관련 정보