SSH란?
네트워크를 통해 다른 컴퓨터에 로그인하여 명령을 실행하기 위한, 통신을 암호화하는 프로토콜(및 그 명령). 서버는 기본으로 TCP의 22번 포트에서 대기한다. 인증에는 비밀번호 외에 공개 키 인증이 자주 쓰이며, 자신이 가진 개인 키에 대응하는 공개 키를 서버의 ~/.ssh/authorized_keys에 등록해 둔다. 같은 연결 위에서 scp나 rsync에 의한 파일 전송, 포트 포워딩도 할 수 있다.
일본어 명칭: SSH
SSH은(는) Linux와 커맨드 라인 기초, 네트워크 기초 등 2개 분야의 연습 문제 3개에 나와요.
분야: Linux와 커맨드 라인 기초
자주 묻는 질문
'Permission denied (publickey)'라고 표시되며 접속할 수 없습니다. 무엇을 확인하나요?
서버의 ~/.ssh/authorized_keys에 사용 중인 개인 키에 대응하는 공개 키가 등록되어 있는지, 접속하는 사용자 이름이 올바른지를 확인합니다. 서버 측의 ~/.ssh나 authorized_keys의 권한이 너무 느슨하면(다른 사람이 쓸 수 있으면) 안전을 위해 키가 사용되지 않는 경우가 있으므로, ~/.ssh는 700, authorized_keys는 600 등으로 합니다. ssh -v를 붙이면 어느 키를 시도했는지가 표시됩니다.
scp와 rsync는 어떻게 구분해서 쓰나요?
둘 다 ssh 위에서 파일을 전송할 수 있습니다. scp는 단순한 복사에 알맞고, rsync는 전송처와의 차이만 보내므로 큰 디렉터리를 반복해서 동기화하거나 도중에 끊긴 전송을 다시 할 때 효율적입니다. rsync -av --delete처럼 사용하면 전송처를 전송원과 같은 상태로 맞출 수 있지만, --delete는 전송처에만 있는 파일을 지우므로 주의가 필요합니다.