본문 바로가기
  • 반가워요 : )
전기기사/리눅스

21.리눅스 SSH (Secure SHell)

by 교육의 기울기 2019. 1. 3.
반응형


● SSH (Secure SHell)


원격으로 접속하여 시스템을 관리하는 방법/서비스  
telnet, rsh, rlogin등과 같은 프로그램들을 많이 사용해왔으나
이러한 프로그램들은 데이터 전송시 평문 전송을 사용한다.
ssh는 패킷이 암호화되어 전송되기 때문에 패킷이 sniffing 당하더라도 상대방이 알아내지 못한다.

*sniffing : 가로채기, 도청

*ssh의 암호 알고리즘 : 비대칭 알고리즘 (RSA,DSA)

                    암호화 복호화 방식

1. 비대칭 알고리즘은 "암호화하는 공개키"와 "복호화하는 개인키"가 한쌍으로 존재
2. 서버와 클라이언트간에 서로의 공개키를 주고 받는다.
3. 클라이언트 쪽에서 데이터를 전송할 때 서버의 공개키를 이용해 암호화하여 전송
4. 서버측에서 그 데이터를 받으면 자신의 개인키를 이용하여 복호화한다.
5. 반대의 경우도 마찬가지 

*제3자가 SNIFFING을 이용하여 패킷을 훔치더라도 개인키를 모르기에 복호화 불가능 




-SSH 사용 용도

1.클라이언트에서 서버에 원격으로 접속하여 시스템을 관리할 수 있는 용도.
2.SCP를 이용하여 파일 전송. ( 로그인 불필요 )
3.sftp를 이용하여 파일 전송. ( ssh를 이용하여 ftp처럼 전송 )








<SSH 구축순서 >

1. 패키지 설치 확인

rpm -qa | grep ssh
openssh-5.3p1-117.el6.x86_64
openssh-clients-5.3p1-117.el6.x86_64
openssh-server-5.3p1-117.el6.x86_64
openssh-askpass-5.3p1-117.el6.x86_64


2. 패키지 설치

서버 : rpm -ivh openssh*


3. 데몬 재실행

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

4. 방화벽
 
  system-config-firewall ssh 체크 (22번포트, tcp )
  

5. 설정파일 수정

  vi /etc/ssh/sshd_config

  13 #Port 22                             포트 설정
  14 #AddressFamily any()         IPv4. IPv6 선택
  15 #ListenAddress 0.0.0.0      IP주소 여러개 사용 시 SSH사용 IP지정(IPv4)
  16 #ListenAddress ::                IP주소 여러개 사용 시 SSH사용 IP지정(IPv6)
  41 #LoginGraceTime 2m         접속 후 2분내에 로그인 (끊긴다)
  42 #PermitRootLogin yes        관리자 계정 접속 허용 여부
  44 #MaxAuthTries 6                최대 접속 시도 횟수
  45 #MaxSessions 10                최대 섹션 허용 개수


6. 데몬재실행

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



7. 클라이언트에서 접속

         ssh [서버ip]                     client에 접속되어 있는 계정으로 접속.
         ssh [계정명]@[서버ip]      지정계정으로 접속 
 

8. 파일전송

     ① SCP 사용

         다운로드
         scp [계정명]@[서버ip]:[파일위치] [가져올 위치]

         업로드
         scp [파일위치] [계정명]@[서버ip]:[업로드할 위치]

       ②sftp 사용

           sftp [서버ip]   client에 접속되어 있는 계정으로 접속.
           sftp [계정명]@[서버ip] 지정한 계정으로 접속
           sftp [서버ip]:/dir    지정한 디렉토리로 접속 
           접속 후에
          (get:다운로드, put : 업로드 ) 
       
           get [서버자원] [client 다운받을 위치]
           put [client자원] [서버 업로드할 위치]
 




※ su 명령어 권한 변경

사용자가 잠시 다른 사용자가 될 수 있도록 해주는 명령어  
root 권한이 탈취될 가능성이 있기 때문에 특정 사용자만 가능하도록 해놓는다.

/bin/su 권한을 보니 755

소유 그룹을 wheel로 변경

chmod 4750


heath 계정에서 su root 로 재접속 하려했을때 허가거부

heath 보조그룹에 wheel 추가

su root로 재접속 가능해짐. wheel 보조그룹에 포함되었기 때문



반응형

댓글