사용자가 SSH를 사용하여 연결할 때마다 스크립트/명령을 실행하는 방법이 있습니까? 전역적으로 구성할 수 있습니까(예: 스크립트를 실행할 때)어느사용자 로그인)?
Identica에서 이 질문을 발견했지만 아직 답변이 없으며 어쨌든 알고 싶습니다.
답변1
모든 사용자에게 적용됩니까, 아니면 특정 사용자에게 적용됩니까? 개별 사용자의 경우 .bashrc
모든 사용자에 대해 해당 파일에서 이를 설정하십시오 .pam_exec.
사용자가 에서 오는 경우 에 sshd
다음 줄을 추가해야 합니다 /etc/pam.d/sshd
. 다른 파일은 해당 사용자의 출처에 따라 다릅니다.
session optional pam_exec.so seteuid /path/to/my/hook.sh
테스트 목적으로 이 모듈이 포함되어 optional
있어 실패하더라도 로그인할 수 있습니다. 작동한다고 확신하면 optional
로 변경할 수 있습니다 required
. 그러면 후크 스크립트가 성공적으로 실행되지 않으면 로그인할 수 없습니다.
노트:언제나 그렇듯이 로그인 구성을 변경할 때는 백그라운드에서 백업 셸을 열고 새 터미널에서 로그인을 테스트하세요.
답변2
로컬 사용자가 아닌 SSH를 사용하는 사용자에게만 영향을 미치는 또 다른 방법이 있습니다(긴급 상황에서는 더 나을 수 있음)
아래 SSH 매뉴얼 페이지의 스니펫을 참조하세요.
이 경우 사용자는 일반적으로 파일 자체를 수정할 수 있습니다(.bashrc와 같은 종류).
~/.ssh/rc Commands in this file are executed by ssh when the user logs in, just before the user's shell (or command) is started. See the sshd(8) manual page for more information.
이는 전역적이며 일반 사용자가 수정할 수 없습니다.
/etc/sshrc Commands in this file are executed by ssh when the user logs in, just before the user's shell (or command) is started. See the sshd(8) manual page for more information.