2013-03-02 1 views

답변

2

GitHub는 OpenSSH의 기능을 이용하고 있습니다. sshd (8) 매뉴얼 페이지의 "AUTHORIZED_KEYS FILE FORMAT"절을 참조하십시오. 지원되는 옵션의

<options> <keytype> <base64-encoded key> <comment> 

하나는 command입니다 :

  • command="command"이 키가 때마다 command이 실행되도록 지정 그것은 authorized_keys 파일의 각 줄은 다음과 같이 구성되어 있다고 인증에 사용됩니다. 사용자가 제공 한 명령 (있는 경우)은 무시됩니다.

따라서, GitHub의 자신의 ~git/.ssh/authorized_keys 파일에서이 같은 물건을 수행 할 수 있습니다

command="foo -u user1" <user1's key stuff here> 
command="foo -u user2" <user2's key stuff here> 

지금의 user1 로그, 서버는 foo -u user1를 실행 할 때마다. 따라서 foo 스크립트는 다른 사용자가 아니라 user1이 로그인 한 것을 알고 있습니다.

관련 문제