사용자가 sftp를 통해 로그인했는지 어떻게 알 수 있습니까?


11

사무실에 Linux 파일 서버를 운영하고 있으며 원격 파트너를 위해 SFTP를 사용하여 파일을 로그인하고 다운로드합니다. 컴퓨터에서 유지 관리를 수행하는 것이 안전한시기를 알 수 있도록 활성 연결 또는 로그인이 있는지 확인할 수있는 방법이 있습니까?

머신이 거의 지속적으로 대용량 파일을 제공하기 때문에 누군가가 업로드하여 예정된 유지 보수가 종종 중단됩니다.

답변:


11

당신은 또한 할 수 있습니다 :

ps -ef | grep '[s]shd' | grep -v ^root

sshd 세션이 표시되어야합니다 (sftp에 사용됨). 내 컴퓨터에서 sshd 프로세스 명령 줄에 '$ USER @ notty'가 포함되어 있으며 터미널 세션으로 로그인하지 않았기 때문에 의미가 있습니다. 다음과 같이 grep을 강화할 수 있습니다.

ps -ef | grep '[s]shd:.*@notty' | grep -v ^root

BTW : grep의 대괄호는 'grep sshd'프로세스가 프로세스 목록에 표시되지 않아야합니다. [s] shd는 sshd와 일치하지만 자체와 일치하지 않습니다. 'grep -v grep'을 저장합니다


4
netstat -atn | grep ':22'포트 22에 열린 트래픽이 있는지 확인 하기 위해 사용 했습니다. 또한 시스템의 '/var/log/auth.log'에있는 sshd 로그를 확인하여 모든 사용자가 세션이 종료되었습니다.
aVeRTRAC

2

시도해 볼 수도 있습니다 fuser -u ssh/tcp


1

커맨드 라인 프로그램 who을 사용하여 이것을 볼 수 있다고 생각합니다 . 나는 그렇게하는 것이 효과가 없다는 보고서를 보았지만 여전히 작동한다고 생각합니다 (아마도 ssh 설정일 것입니다).

sftp는 SSH를 기반으로합니다 . "SSH 파일 전송 프로토콜"을 나타냅니다. 그리고 ssh를 통해 로그인하면 'who'는 사용자를 출력으로 로그인 한 사용자로 포함시킵니다. 그래서 이것은 활성 sftp 세션에서도 작동 할 것으로 기대합니다.

2008 년 의이 논의는 또한이를 위해 'netstat'를 사용할 수 있음을 제안합니다. 또한 'watch'를 통해 'who'를 실행하라는 제안이 포함되어 있으므로 아무 것도하지 않고 업데이트를 볼 수 있습니다.


1
ssh를 통해 로그인 한 사용자를 표시하지 않는 사람 (노트북에서 로그인하여 확인했습니다).
aVeRTRAC

그것은 엉뚱하고, 그것은 설정으로 GOT입니다 .. 나는 그것이 저를 위해 그렇게 해왔음을 확신합니다. 몇 년과 몇 년 동안 ..
James T Snell

그 설정이 어디에 있는지 아십니까? 나는 내 직장의 공용 서버에서 이것을 시도하고 여러 사용자가 나열된 현실적인 결과처럼 보였습니다.
aVeRTRAC

1
누가 현재 로그인 쉘을 실행 중인지 보여줍니다. 사용자가 실행중인 내용에 따라 로그인 쉘로 계산되거나 계산되지 않을 수 있습니다. sftp의 서버 절반은 sftp 세션이 누구에게 나타나지 않는 이유입니다.
퍼킨스
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.