암호를 묻지 않게 ssh를 설정하는 방법
RSA 인증 키를 만들어, 암호를 입력하지 않고 여러분 계정으로부터 원격 사이트에 로그인할 수 있습니다.
일단 이렇게 설정한 후, 침입자가 여러분 계정/사이트에 침입한다면, 그들 역시 패스워드 없이 그 사이트에 접근할 수 있게 된다는 것을 주의해야 합니다! 이런 이유로 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가 아니라면 자신의 비밀 키를 위한 패스프레이즈를 반드시 사용할 것을 권합니다.
ssh-agent(1)
와
ssh-add(1)
를 써서 세션 안의 특정 키 모들 사용을 위해 패스프레이즈를
딱 한 번만 칩니다.
~/.xsession
파일에 다음 줄을 추가해 에이전트에서 모든 키를 자동으로 로드할 수 있습니다.
# 만일 use-ssh-agent가 /etc/X11/Xsession.options 안에 있으면 # (이것이 기본값) 두번째 줄만 바꾸면 됨 # eval ssh-agent ssh-add <filename-of-ssh-key>
터미널 없이 ssh-add
를 실행하려면
ssh-askpass
패키지가 반드시 설치되어 있어야 합니다.