SSHIntro
Clunix Wiki
(버전 사이의 차이)
(→SSH Client) |
(→RSA 공개키를 이용한 사용자 인증) |
||
34번째 줄: | 34번째 줄: | ||
− | == | + | == 공개키를 이용한 사용자 인증 == |
+ | 패스워드 기반의 접속의 경우 매번 암호를 입력해야 하는 불편함이 있다. Openssh는 Public Key 방식의 사용자 인증을 제공한다. | ||
+ | 신뢰된 호스트간에는 Public Key 방식이 여러모로 편리하다. | ||
− | + | * Private/Public Key 생성 | |
− | + | 생성할 키 형식을 -t 옵션과 함께 ssh-keygen 명령을 호출. rsa외에 dsa 옵션도 가능, Public/Private Key 생성 방식의 차이임 | |
− | + | # ssh-keygen -t rsa | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | 이때 private/public key를 저장할 장소와 passphrase를 묻는 prompt가 뜨는데, | ||
+ | passphrase는 empty로 두어야 passphrase를 입력하는 수고를 들수 있다. | ||
+ | |||
+ | ~/.ssh 아래에 id_rsa와 id_rsa.pub가 생성된다. | ||
+ | id_rsa.pub의 공개키의 내용을 복사하여 접속하고자 하는 시스템의 ~/.ssh/authorized_keys에 내용을 추가한다. | ||
+ | authorized_keys 파일의 접근권한은 보안상 사용자만 읽기쓰기 권한이 주어져야 한다. | ||
== SCP == | == SCP == |
2012년 7월 10일 (화) 12:47 판
목차 |
SSH Intro
개요
본 문서에서는 SSH에 대한 간단한 소개와 사용법을 기술한다.
SSH
- secure shell, 보안 채널을 이용한 원격 터미널 접속 제공
- plain text로 transport를 사용하는 telnet과는 다르게 보안화된 transport를 사용하여 외부적으로 사용하기에도 적절하다.
- 사내 혹은 외부에서 사내에 접근할 때에도 모두 ssh를 사용한다.
- telnet이 서비스 되는 사내 서버는 없습니다. 보안상 취약하기 때문
- ssh 서비스를 제공하는 ssh daemon(sshd)는 TCP 22번 포트를 사용한다.
SSH Client
- ssh 서비스로 원격 시스템에 접속하기 위해서는 ssh client가 필요
- Windows용 클라이언트는 terraterm이나 zterm 같은 전용의 클라이언트가 있음. 그러나 xmanager같이 windows용 X server를 설치한 후 SSH를 transport로 하여 xterm 같은 application을 이용하는 방법을 가장 추천
- 적어도 네트워킹 속도에 문제가 없는 사내에서는 이방법이 가장 좋음
- 집에서 혹은 사외에서 이용하는 경우에는 네트워킹 속도나 대역폭때문에 X application을 수행하면 속도가 떨어 질수 있으므로, 차라리 윈도우 원격 접속을 하여 windev07같은 곳에서 xmanager를 이용하는 것이 좋을 듯
- 리눅스 시스템에서는 ssh program을 사용한다.
- ssh 매뉴얼 확인
# man ssh
- 접속 예제(ecm02 시스템에 cezanne 계정으로 접속)
# ssh cezanne@ecm02
- 현재 사용자 ID로 ecm02에 접속
# ssh ecm02
사용자 인증
- SSH에서 사용자 인증을 하는 방법은 여러가지가 있는데, 기본적으로는 사용자 이름과 암호 조합으로 인증을 할 수 있다. (그러나 서버 설정에 따라서 이 경우를 배제할 수도 있음)
- 혹은 RSA와 같은 보안 인증을 이용할 수도 있는데, 암호 입력 과정이 성가시거나 ssh를 transport로 하여 그 상위에서는 다른 작업을 수행하는 경우(예를 들어 ssh상에서 cvs를 수행한다던가 하는 경우)에는 암호 입력 방식이 바람직 하지않다.
공개키를 이용한 사용자 인증
패스워드 기반의 접속의 경우 매번 암호를 입력해야 하는 불편함이 있다. Openssh는 Public Key 방식의 사용자 인증을 제공한다. 신뢰된 호스트간에는 Public Key 방식이 여러모로 편리하다.
- Private/Public Key 생성
생성할 키 형식을 -t 옵션과 함께 ssh-keygen 명령을 호출. rsa외에 dsa 옵션도 가능, Public/Private Key 생성 방식의 차이임
# ssh-keygen -t rsa
이때 private/public key를 저장할 장소와 passphrase를 묻는 prompt가 뜨는데, passphrase는 empty로 두어야 passphrase를 입력하는 수고를 들수 있다.
~/.ssh 아래에 id_rsa와 id_rsa.pub가 생성된다. id_rsa.pub의 공개키의 내용을 복사하여 접속하고자 하는 시스템의 ~/.ssh/authorized_keys에 내용을 추가한다. authorized_keys 파일의 접근권한은 보안상 사용자만 읽기쓰기 권한이 주어져야 한다.
SCP
- ssh를 transport로 하여 파일을 복사할 수 있는 명령
- ssh + cp 정도로 이해할 수 있다.
- # scp *.txt cezanne@ecm02:/tmp - 현재 디렉토리의 *.txt 파일들을 ecm02의 /tmp로 복사 - # scp *.txt ecm02: - ecm02상의 현재 사용자 ID에 대응하는 홈 디렉토리로 복사 - # scp -r mydir ecm02: - 하위 디렉토리까지 모두 복사