본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Open SSH 원격 로그인 클라이언트.
  • 유닉스와 리눅스 모두에서 명령어와 옵션이 같음
  • 경로 : /usr/bin/ssh
ssh [옵션] [주소]
  • [옵션]
  • -1 : ssh를 프로토콜 버전 1로 시도
  • -2 : ssh를 프로토콜 버전 2로 시도
  • -4 : IPv4 주소만 사용
  • -6 : IPv6 주소만 사용
  • -i 키파일 : 공개 키 인증에 쓸 개인 키 파일을 지정한다. 주지 않으면 ~/.ssh/id_rsa, id_ecdsa, id_ed25519 를 찾는다
  • -p 포트 : 접속할 포트를 지정한다. 기본은 22
  • -l 사용자 : 로그인할 사용자 이름. 사용자@호스트 로 써도 같다
  • -X : X11 포워딩
  • -L, -R : 로컬·원격 포트 포워딩
  • -v : 접속 과정을 자세히 출력한다. 키 인증이 왜 실패하는지 볼 때 쓴다

공개 키 인증

편집 원본 편집

비밀번호 대신 키 쌍으로 로그인한다.

  1. 클라이언트에서 ssh-keygen 으로 개인 키(~/.ssh/id_rsa)와 공개 키(~/.ssh/id_rsa.pub)를 만든다
  2. 공개 키를 서버 사용자의 ~/.ssh/authorized_keys 에 덧붙인다. ssh-copy-id 가 대신 해 준다
  3. ssh 로 접속하면 서버는 authorized_keys 의 공개 키로 클라이언트가 짝이 맞는 개인 키를 가졌는지 확인한다
  • 서버 설정은 /etc/ssh/sshd_config 의 PubkeyAuthentication yes, AuthorizedKeysFile .ssh/authorized_keys
  • ~/.ssh 는 700, authorized_keys 와 개인 키는 600 권한이어야 한다
  • /lib/security 는 PAM 모듈이 있는 디렉터리로, 키 인증에 쓰는 파일이 아니다

서버 설정 파일 sshd_config

편집 원본 편집

접속 포트, 인증 방식 같은 SSH 서버(sshd) 쪽 설정은 /etc/ssh/sshd_config 에 둔다. 클라이언트가 ssh -p 2022 호스트 로 2022번 포트에 접속하게 하려면 서버의 이 파일에서 포트를 바꾸고 sshd 를 다시 시작한다.

# vi /etc/ssh/sshd_config
Port 2022
# systemctl restart sshd
파일 역할
/etc/ssh/sshd_config 서버 설정 파일. Port, PermitRootLogin, PasswordAuthentication, PubkeyAuthentication 등
/etc/ssh/ssh_config 클라이언트 쪽 기본 설정
/etc/rc.d/init.d/sshd 데몬을 시작·정지하는 스크립트. 설정을 담지 않는다
~/.ssh/authorized_keys 사용자별 공개 키 목록(키 인증)
/usr/libexec/openssh/sftp-server SFTP 하위 시스템 실행 파일
$ ssh [email protected]
$ ssh -p 2222 -l user1 192.168.10.20
$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
$ ssh -i ~/.ssh/id_rsa [email protected]