암호를 물어보지 않게 ssh를 설정하는 방법
RSA 인증(authentication) 열쇠를 만들어 암호를 입력하지 않고 자신의 계정으로부터 원격 사이트에 로그인할 수 있습니다.
일단 이렇게 설정한 후 침입자가 자신의 계정/사이트에 침입한다면 그들 역시 패스워드 없이 그 사이트에 접근할 수 있게 된다는 것을 주의해야 합니다. 이런 이유 때문에 root로 이 일을 해서는 결코 안 됩니다.
- 자신의 컴퓨터에서
ssh-keygen(1)을 실행하고 암호를 물으면 그냥 엔터를 칩니다.
비밀 열쇠와 공개 열쇠가 생성됩니다. 예전 SSH 버전을 사용한다면~/.ssh/identity와~/.ssh/identity.pub에, 새 버전이라면~/.ssh/id_rsa와~/.ssh/id_rsa.pub에 저장됩니다. - 다음으로 공개 열쇠 파일의 내용은 원격 사이트의
~/.ssh/authorized_keys에 추가합니다(파일의 모드는 600이어야 합니다).
자신이 개발자이고 이 열쇠를 사용해 debian.org에 접근하고 싶다면 개발자 데이터베이스에서 자신의 열쇠를 모든 데비안 장비에 전달하게 할 수 있습니다. LDAP 게이트웨이 문서를 보기 바랍니다..
그리고 나서 암호 없이 원격 사이트에 ssh로 로그인할 수 있습니다.
주의: 비밀 열쇠 파일에 대한 읽기 권한이 있는 모든
사람은 원격 사이트에 패스워드 없이 접근할 수 있습니다. 이것은 어떤
사람이 자신의 로컬 기계에 root로 접근할 수 있다는 것을 뜻합니다.
따라서 자신이 유일한 root가 아니라면 자신의 비밀 열쇠를 위한
패스프레이즈를 반드시 사용할 것을 권합니다.
You can use ssh-agent(1) and
ssh-add(1) to type your passphrase only once for all uses
of a specific key in a session.
~/.xsession 파일에 다음 줄을 추가해 에이전트에서 모든
열쇠를 자동으로 적재할 수 있습니다.
# if use-ssh-agent is specified in /etc/X11/Xsession.options
# (this is the default) then you need only the second line
# eval ssh-agent
ssh-add
터미널 없이 ssh-add를 실행하기 위해서는
ssh-askpass 패키지를 반드시 설치해야 합니다.
