터미널 에뮬레이터(예: xterm
)가 있는 경우 기본적으로 의사 터미널에 연결됩니다./dev/pts/3
직접 연결할 수 있는지 궁금합니다 tty1
.
에 연결하여 tty
실제로 거기에 있는 것처럼 로그인 프롬프트를 표시하도록 할 수 있습니까(예: tty
++ Ctrl) Alt?F1
답변1
예, 아니오. 해당 자식(아마도 쉘)의 입력/출력 스트림을 리디렉션할 수 있지만 xterm
거기에는 거의 관여하지 않습니다. pty를 소유한 마스터 - pty를 생성한 프로세스에서 xterm
열기를 수행합니다 . 하지만 그것은/dev/ptmx
/dev/pts/3
포기하다xterm
- 이제 쉘이 pty를 소유하여 세션 리더 가 됩니다 . 그것이 xterm
하는 일은 키보드에서 입력을 받아 셸에 전달한 다음 셸에서 출력을 가져와 화면에 전달하는 것뿐입니다. 이러한 방식으로 xterm
멀티플렉싱 기능이 수행됩니다. 의사 터미널 간에 입력과 출력을 세분화하고 리디렉션하지만 일단 pty가 시작되면 여기서는 관련성이 별로 없습니다.
그러나 가상 콘솔은 이야기가 다릅니다. 사용자 계정에 적절한 파일 시스템 권한이 할당된 경우 다른 프로세스나 다른 터미널에서 해당 권한을 읽고 더 간단한 방법으로 작성할 수 있습니다. 예를 들어 프로세스와 통신하기 위해 마스터를 통해 입력/출력을 전달할 필요가 없습니다. 노예 쪽에서. 거의 모든 중요한 방법으로 이러한 작업을 쉽게 수행할 수 있습니다.와는 별개로걱정되는 곳 login
. 그럴 것이다죽이다이 장치의 모든 청취자는 키보드 입력만 허용합니다. 그것이 바로 그 일입니다.
그러나 나는 당신이 인증 솔루션을 찾고 있다고 생각합니다. 다음을 통해 거의 동일한 수준의 보안을 얻을 수 있습니다.
ssh -t localhost 'exec some process'
이렇게 하면 인증하라는 메시지가 안전하게 표시되고 컴퓨터에 로그인하여 다음을 실행합니다.일부 프로세스새로운 의사 터미널에서는 xterm
예를 들어 에서 이 작업을 수행할 수 있습니다.