SSH-AGENT(1)

명칭
ssh-agent - 인증 에이전트

서식
ssh-agent [-a bind 하는 주소] [-c | -s] [-d] [명령 [인수 ...]] ssh-agent [-c | -s] -k

해설
ssh-agent (은)는 (RSA 나 DSA 의) 공개열쇠 인증으로 사용되는 인증열쇠를 보관 유지한다 프로그램입니다. 기본적으로는, 우선 ssh-agent (을)를 X세션 혹은 로그인 세션의 초에 기동시켜, 이외의 모든 윈도우나 프로그램이 그 ssh-agent 프로그램의 클라이언트로서 기동하도록(듯이) 합니다. 에이전트는 환경 변수를 사용하는 것으로, 다른 머신에 ssh(1) (을)를 사용해 로그인할 경우에 자동적으로 검출되어 인증에 이용할 수 있습니다.

옵션에는 다음과 같은 것이 있습니다:

-a bind 하는 주소
    Unix 도메인 소켓을 bind_address 에 bind 하도록(듯이) 합니다. 이 값은, 디폴트에서는 /tmp/ssh-XXXXXXXX/agent. <ppid> (이)가 되어 있습니다.

-c  표준 출력 에 C 쉘용의 명령을 출력합니다. 환경 변수 SHELL 하지만 csh 계의 쉘이 되어 있는 것 같으면, 이것이 디폴트가 됩니다.

-s  표준 출력 에 Bourne 쉘용의 명령을 출력합니다. 환경 변수 SHELL 하지만 csh 계 이외의 쉘 같으면, 이것이 디폴트입니다.

-k  현재 움직이고 있는 인증 에이전트 ( 환경 변수 SSH_AGENT_PID 에 의해 주어지고 있다) (을)를 kill 합니다.

-d  디버그 모드. 이 옵션이 지정되어 있으면(자) ssh-agent (은)는 fork 하지 않습니다.

명령행이 주어졌을 경우, 그 커멘드는 이 인증 에이전트의 child process로서 기동됩니다. 준 명령이 종료했을 경우, 인증 에이전트도 종료합니다.

최초, 인증 에이전트는 열쇠를 전혀 가지지 않는 상태로 기동됩니다. 인증열쇠를 여기에 추가하려면 ssh-add(1) (을)를 사용합니다. 이것을 인수없이 기동하면(자), ssh-add(1) 하 $HOME/.ssh/id_rsa, $HOME/.ssh/id_dsa 및 $HOME/.ssh/identity 의 각 파일을 추가합니다. 이 identity 파일에 패스 프레이즈가 필요한 경우, ssh-add(1) (은)는 그 패스 프레이즈를 물어 옵니다 (X11 를 사용하고 있을 때는, ssh-add(1) (은)는 X 의 약간의 어플리케이션을 사용합니다, X 를 사용하지 않을 때는 단말을 사용해 물어 옵니다). 이 후, identity 파일에 포함되어 있는 인증열쇠가 인증 에이전트에 보내집니다. 인증 에이전트에는 복수의 열쇠를 격납할 수가 있어 인증 에이전트는 이러한 열쇠를 자동적으로 사용합니다. ssh-add -l (을)를 실행하면(자), 현재 그 인증 에이전트에 의해 보관 유지되고 있다 열쇠의 일람이 표시됩니다.

인증 에이전트는, 유저의 로컬 PC 나 노트 PC, 혹은 단말로 실행되는 것입니다. 인증용의 데이터를 다른 머신에 둘 필요는 없고, 인증을 위한 패스 프레이즈가 네트워크상을 흐르는 일도 결코 없습니다. 그러나 인증 에이전트에 대한 접속은 SSH 의 리모트 로그인을 넘어 전송 되어 유저는 그 인증열쇠에 의해 주어진 권한을 네트워크상의 어디에서라도 안전하게 행사할 수 있다는 것입니다.

인증 에이전트를 사용하기 위해서(때문에)는, 주로 2개의 방법이 있습니다. 하나는, 인증 에이전트가 새로운 child process를 달리게 하는 방법으로, 이 때 에이전트는 몇개의 환경 변수를 export 합니다. 또 하나는 인증 에이전트에 쉘용의 명령을 출력시키고 (이것은 sh(1) 혹은 csh(1) 어느 쪽인가의 문법으로 생성됩니다), 인증 에이전트를 호출한 쉘이 그 명령을 평가 (eval) 하는 방법입니다 (역주: 요컨데 후의 프로세스에 환경 변수를 건네줄 수 있으면 좋다). 이것 이후 ssh(1) (은)는 인증 에이전트에 접속하기 위해서 이러한 변수의 내용을 사용합니다.

에이전트는 요구된 채널을 경유해 비밀열쇠를 보내는 일은 결코 하지 않습니다. 대신에, 비밀열쇠가 필요한 조작은 모두 에이전트측에서 행해, 결과만이 요구한 측에 돌려주어지게 되어 있습니다. 이 때문에 에이전트를 사용하는 것에 의해 비밀열쇠가 클라이언트에 새는 일은 없습니다.

Unix 도메인의 소켓이 만들어져 그 소켓의 이름이 SSH_AUTH_SOCK 환경 변수에 넣어집니다. 이 소켓은 그 유저만 하지만 액세스 가능합니다만, 현재로서는 root 또는 동일 유저의 별프로세스에 의해 간단하게 악용 되는 위험성이 있습니다.

SSH_AGENT_PID 환경 변수는 인증 에이전트의 프로세스 ID 를 보관 유지합니다.

(역주: 인증 에이전트에 child process를 기동시켰을 경우, ) 지정한 명령이 종료하면(자), 인증 에이전트도 자동적으로 종료합니다.

관련 파일

$HOME/.ssh/identity
    그 유저가 프로토콜 버젼 1 으로 사용하는 RSA 비밀열쇠가 들어가 있습니다.

$HOME/.ssh/id_dsa
    그 유저가 프로토콜 버젼 2 로 사용하는 DSA 비밀열쇠가 들어가 있습니다.

$HOME/.ssh/id_rsa
    그 유저가 프로토콜 버젼 2 로 사용하는 RSA 비밀열쇠가 들어가 있습니다.

/tmp/ssh-XXXXXXXX/agent. <ppid>
    인증 에이전트에 대한 접속을 보관 유지하는 Unix 도메인의 소켓입니다. 이 소켓은, 소유자만이 읽을 수 있게 되어 있을 것입니다. 이 소켓은 인증 에이전트가 종료할 때 자동적으로 삭제됩니다.

저자
OpenSSH 는 Tatu Ylonen 에 의한, 프리인 오리지날판 ssh 1.2. 12 릴리스로부터 파생한 것입니다. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt 및 Dug Song 가 많은 버그를 제거해, 새로운 기능을 다시 추가해 OpenSSH 를 만들었습니다. SSH 프로토콜 버젼 1.5 및 2.0 의 서포트는 Markus Friedl 의 공헌에 의하는 것입니다.

일본어 번역
니이야마 유스케 (yusuke at cs . nyu . edu) 2002/6/26 (for 3.4p1)

당메뉴얼 페이지는 씨의 호의에 의해 FreeBSD 일본어 메뉴얼에 수록하고 있습니다. 번역에 대한 의견, 지적이 있으면 니이야마씨 (yusuke at cs . nyu . edu), 및 FreeBSD jpman 프로젝트 <man-jp@jp.FreeBSD.org> 까지 전송해 주세요.

관련 항목
ssh(1), ssh-add(1), ssh-keygen(1), sshd(8)