두 개의 Solaris 서버 A와 B가 있고 SFTP를 사용하여 한 서버에서 다른 서버로 연결한다고 가정합니다.
B가 SFTP를 사용하여 A에 연결을 시도한다고 가정합니다.
그렇다면 A는 B가 보낸 SFTP 요청을 어떻게 감지합니까? A에 로그인한 클라이언트 콘솔(예: 퍼티)에 "B가 연결을 시도하고 있습니다"라는 메시지를 표시할 수 있는 방법이 있습니까?
SFTP에 대한 프로세스 목록을 검색하는 특정 스크립트를 짧은 시간 동안 지속적으로 실행하는 것에 대해 생각했지만 정확하지 않은 것 같습니다.
이제 B가 성공적으로 로그인하자마자 A에서 B로 메시지를 보내고 B가 로그인한 내 클라이언트 화면에 메시지가 표시될 수 있습니까?
이 모든 것이 쉘 스크립트를 통해 수행될 수 있습니까? 저는 주로 솔라리스를 사용하는데, 솔라리스에 대한 구체적인 답변이 있나요?
답변1
wall
다음 명령을 사용하여 모든 터미널에 메시지를 보낼 수 있습니다 .
요약
벽 [-n] [-t 시간 초과] [-g 그룹] [메시지|파일]설명
Wall은 현재 로그인된 모든 사용자의 터미널에 메시지, 파일 내용 또는 표준 입력을 표시합니다.
sshd
PAM(Solaris에서 사용 가능한 경우)을 사용하도록 구성하고 pam_exec
(https://linux.die.net/man/8/pam_exec)는 SSH 로그인마다 알림을 받습니다. 하지만 그 단계에서는 SFTP 세션인지 여부가 결정되지 않았을 수 있습니다. SFTP를 확인하기 위해 백그라운드에서 스크립트를 시작할 수 있습니다.