티스토리 뷰

O.S/Linux

SSH 란? & scp 사용법

미련곰 2007. 8. 20. 16:46
 

SSH 란?

: secure shell의 약자로 보안로그인 셀을 말한다.

원격서버로 로그인하는 대표적이고 전통적이며 현재까지 가장 많이 사용하는 Telnet은 data가

암호화 하지않아 취약하므로 이를 보완하기 위해 ssh를 사용.

 

1. ssh 패키지 다운받기.

rpmfind나 superuser등의 rpm을 제공해주는 사이트에 가서 다운 받는다.

 

2. ssh 패키지 설치하기.

# rpm -ivh openssh-server-4.0p1-3

# rpm -ivh openssh-client-4.0p1-3

# rpm -ql openssh-server-4.0p1-3

/etc/rc.d/init.d/sshd 서버실행 스크립트.

(어떤프로그램을 동작시키기위한 실행파일의 원본파일들이 init.d에 있음)
: restart , start , stop 로 재시작, 시작, 정지를 할 수 있음.
/etc/ssh/sshd_config 서버설정 파일.
/usr/sbin/sshd  서버 프로그램.

# rpm -ql openssh-client-4.0p1-3
/usr/bin/scp   scp는 로컬에서 리모트, 리모트에서 로컬로 복사할때 사용(암호화).
/usr/bin/sftp  ftp는 암호화된 ftp이다.
/usr/bin/ssh  ssh 서버접속 을위한 클라이언트 명령어.

(bin이란곳에 클라이언트용 명령어들이 존재)

 

3. ssh서버 환경설정파일 수정하기.

# vi /etc/ssh/sshd_config

=> PermitRootLogin no   root로 로그인 거부

 

4. ssh 서버 실행.

# /etc/rc.d/init.d/sshd restart

# netstat -atnp | grep 22/sshd

 

5. 리눅스클라이언트 접속하기.
# ssh <Server_IP>  서버에게 root계정으로 접속을 요청하기.
# ssh
test@Server_IP  test라는 계정으로 접속을 요청하기.(이때 test는 서버에 있는 계정이다.)
# ssh -l test Server_IP
$ ssh <Server_IP>  내가 로그인한 해당 계정명으로 접속을 요청하기.

==> ssh는 관리자를 위한 서비스 이다. 관리자가 원격에서 서버에 접속해서 관리하기위한 것이다.
왜 일반계정도 로그인이 될까?? 아무리 암호화된 ssh라도 처음로그인할때 패스워드가 유출될 수 있기때문에 일반계정으로 로그인 한 다음에, 서버에 와서 권한상승을 한다.

 

- ssh접속한 상태에서 자제해야 할것.
# lan카드 down.
# 컴퓨터를 끄는행위.

 

+ scp 사용하기
# scp 원본파일위치  복사할 위치
# scp 192.168.100.135:/bin/*  /tmp1
# scp /bin/*  192.168.100.135:/tmp1
# scp -r /bin/* 192.168.100.135:/tmp1

 

+ sftp사용하기.
= hash와 prompt빼고는 ftp와 sftp명령어는 거의 동일.

> put  원반파일의위치  업로드할 위치
> mput /tmp1/* /tmp1/

= ftp에서는 디렉토리 업로드가 안됨!! ==>
> mkdir 이란명령어로 디렉토리를 하나 만든다음 모든 파일을 이곳에 받는수 밖에 없음.

= scp, sftp, ssh 를 사용할려면 ssh서버만 동작하고 있으면 됨.

출처 : http://tong.nate.com/boxitem/post.do?action=read&_boxID=1695983&_tongID=43656&_boxItemID=29657306&_reloadTag=y


==================================================================================

 

scp 사용법


scp는 자신의 컴퓨터에서 원격의 컴퓨터로 또는 원격의 컴퓨터에서 자신의 컴퓨터로 간단하게
파일을 전송할 수 있는 프로그램이다.
다음은 현재 디렉토리에 있는 sshd.txt 라는 파일을 IP가 192.168.1.154 인 컴퓨터에 root 라는 계정으로
접속하여 /usr/local/src/ 디렉토리 밑에 복사해 넣는 명령이다.

[root@in4nux root]# scp ./sshd.txt root@192.168.1.154:/usr/local/src/ 

다음은 IP가 192.168.1.154 인 컴퓨터에 root 라는 계정으로 접속하여 /usr/local/src/ 디렉토리 밑에 있는
sshd.txt 라는 이름의 파일을 자신의 컴퓨터로 현재 위치한 디렉토리에 복사하는 명령이다.

[root@in4nux root]# scp root@192.168.1.154:/usr/local/src/sshd.txt ./ 
-------------------------------------------------------------------------
ssh를 이용한 원격 파일 복사 - 보안 
글쓴이 : 임은재 (2000년 11월 24일 오전 09:15) 읽은수:499
scp는 ssh 클라이언트 패키지에 따라옵니다.
예를 들어, 복사하려는 파일명이 'dumb' 라고 하고
접속하려는 원격 서버의 주소는 www.foobar.com,
당신의 쉘 계정은 babo 라고 한다면, dumb 파일을 www.foobar.com 의

babo 계정 홈 디렉토리에 복사하기:
scp dumb babo@www.foobar.com :. 
www.foobar.com 의 babo 계정 홈 디렉토리에 있는 dumb 파일을 로컬로 복사하기:
scp babo@www.foobar.com:dumb .
간단하죠? 만약 ~/.ssh/config 파일에 다음과 같이 www.foobar.com 의 
계정을 설정해 놓았다면,
Host *fbc HostName www.foobar.com User babo ForwardAgent yes
다음과 같이 더 간단하게 할수 있습니다.
scp dumb fbc:.
또한 scp 는 -r 옵션도 가지고 있는데 이것은 디렉토리를 통채로 복사 할때 유용합니다.
예를 들어 test/ 디렉토리안의 모든 파일과 하위 디렉토리를 서버 계정의 www 디렉토리 안에
복사 하려면 다음과 같이 합니다.
scp -r test/ babo@www.foobar.com::www/ 

포트 옵션 : -P

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함