You cannot see this page without javascript.

SSH 컴파일 설치

Linux 조회 수 386 추천 수 0 2014.07.19 11:57:32
ssh 는 패킷간에 암호화를 하기 때문에 스니퍼 같은 패킷 캡쳐 프로그램으로
패킷들이 캡쳐당하더라도 보안상 더 낫기 때문에 텔넷 사용을 권장하지 않음.
http://www.openssh.org

- 목 차 -
1. RPM을 통한 설치방법
2. 소스설치
3. ssh-Server  설정파일  수정방법


#######################
1. RPM을 통한 설치방법
#######################
1) Openssh RPM 패키기 구성 화일  www.openssh.org 또는 www.norlug.org에서 다운로드
  openssh-3.1p1-6
  openssh-server-3.1p1-6
  openssh-clients-3.1p1-6
  openssh-askpass-3.1p1-6
  openssh-askpass-gnome-3.1p1-6

2) 설치
   #> rpm -Uvh openssh-*


#######################
2. 소스설치
#######################

참고: 기타 설치시 문제는 http://www.openssh.org/faq.html#3.2 참고할것.

1) 최근 파일 다운로드
#> wget http://openbsd.md5.com.ar/pub/OpenBSD/OpenSSH/portable/

2) 컴파일 및 설치
#> ./configure --prefix=/usr/local/ssh --sysconfdir=/etc/ssh --with-md5-passwords

#> make

#> make install

#> vi /etc/rc.d/rc.local
   # ------------ ssh-server Daemon  자동시작 -----------
   #  (ssh-Server 프로세스 중지방법:  killall sshd )
   /usr/local/ssh/sbin/sshd


###################################
3.  ssh-Server  설정파일  수정방법
###################################


1) ROOT로 ssh 접속 막는 방법
 #>vi /etc/ssh/sshd/sshd_config
    -> PermitRootLogin no
 #>/etc/init.d/sshd restart

2) 사용자의 상위디렉토리 이동 방지
  상위디렉토리관련은 현재 openssh에서는 없고, 패치형태로 존재하는데
  http://chrootssh.sourceforge.net/를 이용.

3) sshd 접속 유지
 #>vi /etc/ssh/sshd_config
   적당한 위치에 ClientAliveInterval   삽입

4). telnet xxxx 22 시 ssh버전 뜨는 것 방지
  ->  소스 설치시 컴파일전에 version.h 파일을 적당히 수정.

5). ssh 접속 포트 변경
 #>vi /etc/ssh/sshd/sshd_config
    Port 22 ---> Port 2222
 #>/etc/init.d/sshd restart

6). ssh로 다른곳 접속 가능하게 하기
   접속하려는 곳을 전에 접속할때 도메인네임으로 혹은 로컬 네트웍에서
   호스트네임으로 접속해서 생긴 현상으로 ssh의 설정파일에 동일한
   호스트의 정보가 겹쳐서 일어나는 현상이므로,  known_hosts안의
   내용을 삭제하고 다시 접속하면 됨.
 
7). ssh1이 동작하는지 ssh2가 동작는지 알수 있는 방법
  /etc/ssh/sshd_config파일에 Protocol 2 이면 ssh2 임.
  또는 telnet localhost 22 로 연결해보면 알수 있음.

8). 웹으로 ssh 사용 방법
 다운: http://javassh.org/ 에서 접속하여 다운로드
 데모: http://webssh.decf.berkeley.edu/
         http://hopper.mathcs.wilkes.edu/~mcsclub/ssh/
 다운: http://www.appgate.com/mindterm/
 컴파일: http://mindterm.appgate.com/pipermail/mindterm-users/2002q1/000489.html

9). root를 제외한 다른 사용자의 ssh접속을 막기
    - root에게 원격접속을 허용하지 않는 것은 보안의 제 1원칙
    - /etc/pam.d/sshd 이 파일을 수정
    #> vi /etc/pam.d/sshd
        #%PAM-1.0
        auth required /lib/security/pam_listfile.so item=user
        sense=allow file=/etc/sshusers onerr=succeed
    위의 내용을 맨 윗줄에 추가하신 후
    #> vi /etc/sshusers  (  접속을 허용할 계정을 한줄에 하나씩 기입)
        linuxer


10) iptables 를 이용한 방화벽 설정 방법

가. ssh의 취약점을 통한 root 권한 획득을 위해 불량접근 IP 잠금처리
#> iptables -A INPUT -s 204.60.81.110 -p tcp --dport 22 -j DROP

나. ssh의 취약점을 통한 외부로의 접근 봉쇄(로컬 --22-->외부)
#> vi /etc/rc.d/rc.local [Enter]
# ssh의 취약점을 통한 외부로의 접근 봉쇄(로컬 --22-->외부)
/sbin/iptables -A OUTPUT -s 210.118.118.118 -p tcp --dport 22 -j DROP
#>reboot

다. 설정 내역 열람
#>  iptables -l [Enter]

11) ssh에서 자기계정 내용외에는 볼수 없게 하는 방법 ( for 웹서버운영시)
#> cd /home [enter]
#> chmod 750 계정명 [enter]
#> chown 계정명.nobody 계정명 [enter]

12. ssh 접속 사용자별 제한 설정
#> vi /etc/ssh/sshd_config

가. AllowGroups
   :ssh 로그인을 해당 그룹으로 제한한다.
    각각의 그룹명은 공백으로 구분한다. 와일드 카드(* 와 ?)를 사용할수 있다.

나. AllowUsers
   :ssh 로그인을 해당 유저로 제한한다. 사용법은 AllowGroups과 같다.

다. DenyGroups
   :AllowGroups의 반대 역할을 한다. 지정된 그룹은 로그인이 거부된다.

라. DenyUsers
   :AllowUsers의 반대 역할을 한다. 지정된 사용자는 로그인이 거부된다.
    예) DenyUsers admin testman invain



#> /etc/init.d/sshd restart

이하여백.
엮인글 :
List of Articles
번호 제목 글쓴이 날짜 조회 수

XE Login