- 2014.12.11
1. vnc
[vnc 안될 때 대처 방법]
1) samadal(내가 사용하려는) 계정으로 로그인하여 vncpasswd 설정
2) /etc/sysconfig/vncserver 설정
18 # VNCSERVERS="2:myusername"
19 # VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"
20 VNCSERVERS="1:root 2:samadal"
21 VNCSERVERARGS[1]="-geometry 800x600"
22 VNCSERVERARGS[2]="-geometry 800x600"
3) /etc/rc.d/init.d/vncserver restart
그래도 안될 시 4) 후 다시 시도
4) # killall -9 Xvnc and # rm -rf /tmp/.X*(or # reboot)
[telnet, ssh, vnc 비교]
telnet ssh vnc
보안 취약 강함 취약
속도 빠름 빠름 느림
그래픽 X X O
환경 TUI CLI(=TUI) GUI
프로그램 os기본 Linux 기본 P/G 별도설치
2. vnc with ssh
(위 까지의 설정이 완료 됬다는 가정 하에 진행한다.)
위에서 설정한 vnc는 보안에 취약하다. 이 점을 극복하기 위해 ssh를 이용한 vnc를 설명하려고 한다.
아래 설명하는 방법은 ssh tunneling 이라는 기술이며 이 경우 말고도 ftp 등 다양한 방법으로도 사용될 수 있다.
A PC에서 B PC로의 원격 접속을 SSH로 연결할 때의 원리는 다음과 같다.
A와 B 사이의 SSH 통로
A PC 서비스 --------------------------------> B PC 서비스
1) A와 B 사이의 SSH 연결
Windows에서는 putty 등의 프로그램, Linux에서는 자체 ssh 명령어로 A와 B사이를 SSH로 연결해둔다.
이 때 주의할 것은 일반적인 연결이 아닌 옵션을 통한 연결을 해야한다는 것이다.
여기서 주는 옵션은 A PC의 특정 포트와 B PC의 특정 포트를 연결하는 것이다. 여기선 각각 (a포트, b포트라 하겠다.)
putty 혹은 자체 프로그램으로 이러한 옵션이 설정되있는 SSH를 실행하여 로그인 한다.
2) 프로그램 실행
A PC의 a포트와 B PC의 b 포트가 ssh로 연결되었다.
이제 A PC의 실행하려는 프로그램에서 목적지 주소를 localhost:a 로 주면 이미 만들어진 ssh 통로를 따라
데이터가 암호화 된 상태로 B PC의 b 포트에 도착, 암호화를 풀어 B PC에서 정상 작동하게 되는 것이다.
[in Windows]
대표적인 프로그램인 putty를 예로 들겠다.
Remote 될 PC의 연결 설정을 load 한다.
좌측 메뉴의
Connention - SSH - X11 - Enable X11 forwarding 체크
- Tunnels - Source port : localhost에 연결될 포트(a) 입력
- Destination : serverip:port
Session - Save
설정한 뒤 Open을 눌러 연결 해놓은 상태에서 vncviewer 프로그램 실행하여 serverip:포트(a) 를 입력하면 된다.
[in Linux]
# ssh -NfL 3020:localhost:5901 -N -f -l id 192.168.1.1
-Nf : SSH 연결 하지 않고 Background 에서만 연결 되어 있도록 설정. 원격 커맨드 명령을 진행하려면 # ssh id@ip 명령어 입력.
-L 3020:localhost : localhost 의 5901번 포트를 ssh로 열어두겠다는 뜻.
5901 : Remote 될 PC에서 사용중인 포트번호.
-l id : ssh 인증 위한 id
192.168.1.100(sshserver.mydomain.com) : Remote server ip
vncview program 실행하여 localhost:3020 으로 접속.
[trouble shooting]
1) -bash: ssh: command not found
openssh clients 설치가 안되서 그렇다. yum install -y openssh clients 진행.
3. ftp
ftp : File Transfer Protocol의 약자로 TCP/IP 환경에서의 파일 전송용 Application Protocal 이다.
[종류]
- 시스템에 등록되어 있는 사용자들을 위한 FTP Service
- 익명의 모든 사용자에게 개방하는 익명(Anomyous) FTP Service
[vsftpd 서버 설정]
아래 파일들이 핵심 파일들이다.
/etc/vsftpd/vsftpd.conf : vsftpd의 메인 환경 설정 파일
/usr/sbin/vsftpd : vsftpd의 실행파일
/etc/rc.d/init.d/vsftpd : vsftpd의 데몬파일
[/etc/vsftpd/vsftpd.conf]
vsftpd 설치가 우선이지만 내가 실습하는 환경에선 이미 설치되어있다.
실습 전에 백업하는 습관 갖기
# cp /etc/vsftpd/vsftpd.conf /backup/
* 익명연결
웹 브라우저에 ftp://자신의ip 혹은 alftp 로 익명연결하면 연결된다.
이 것은 아래에 것으로 설정 변경
12번줄 YES -> no
# vi /etc/vsftpd/vsftpd.conf
12 anonymous_enable=no
13 #
설정 변경 뒤에는 재시작 해야한다.
# /etc/rc.d/init.d/vsftpd restart
이젠 웹으로 시도 시 암호창을 띄우게 되고, alftp로는 접속이 안된다.
이젠 계정을 입력해서 접속하면 된다.
samadal 계정으로 접속 하면 업로드, 다운로드, 삭제 등이 가능하다.
* write 권한 no
ftp로 보는 것과 다운로드만 되고 쓰는 것(업로드 및 삭제, 수정)은 안되게 설정 변경
18번줄 YES -> no
# vi /etc/vsftpd/vsftpd.conf
18 write_enable=no
19 #
* 모든 유저 접속 막기
/etc/passwd 파일에 존재하는 사용자들의 접속을 막는 것 설정
15번줄 Yes -> no
# vi /etc/vsftpd/vsftpd.conf
15 local_enable=no
16 #
* 익명사용자 권한 부여
익명 접속자에게 업로드 및 디렉터리 생성을 가능하게 하는 설정 (삭제는 불가)
27, 31번줄 : 주석 해제
# vi /etc/vsftpd/vsftpd.conf
27 anon_upload_enable=YES
28 #
29 # Uncomment this if you want the anonymous FTP user to be able to create
30 # new directories.
31 anon_mkdir_write_enable=YES
하지만 역시나 실패. pub 디렉터리에 o+w 권한을 줘야할 것 같다.
아래처럼 권한을 줘가면서 테스트 해보자.
/var/ftp/ /var/ftp/pub/
755 755 - 접속 가능, 업로드 및 다운로드 불가
757 - 접속 가능, 업로드 및 다운로드 가능
757 755 - 접속 불가
757 - 접속 불가
익명의 ftp 서버에선 /var/ftp/ 가 최상위이다.
그런데 익명의 사용자에게 /vaf/ftp/ 에 7 권한을 준다는 것은 root 권한이나 마찬가지다.
그렇기 때문에 접속 자체를 막는 것이다.
일부 사용자의 경우 SELinux 때문에 실패 할 수도 있다. (나는 iptables 서비스를 꺼두었다. 미니멀에선 기본설정이다.)
그 때엔 아래 명령어로 해결 가능할 수도 있다.
# setsebool -P ftp_home_dir=1
# setsebool -P allow_ftpd_full_access on
# setsebool -P ftp_home_dir on
* umask
업로드 및 다운로드 시 파일에 대한 권한 설정 - umask
21 # if your users expect that (022 is used by most other ftpd's)
22 local_umask=022
23 #
* 접속 메세지
ftp 접속 시 메세지를 띄울 때 사용. 로그인하는 계정의 $HOME 에 .message 로 문서파일 만들면 됨
Alftp 의 경우 환경설정에서 알림창에 관한 설정 해줘야 함
35 dirmessage_enable=YES
36 #
* Active/Passive Mode 설정
ftp 서버는 별도의 데이터 전송 포트를 이용하는데 이 때 사용할 포트번호를 지정하는 옵션
42 connect_from_port_20=YES
43 #
Active : Client가 접속하고 싶은 포트로 접속
Passive : Server에서 지정해주는 포트로 접속하라고 알려줌
* log 기록 남기기(xferlog)
기본 저장 위치는 /var/log/xferlog 이고 저장되는 파일 명 변경 원할 때 설정
51 # WARNING - changing this filename affects /etc/logrotate.d/vsftpd.log
52 #xferlog_file=/var/log/xferlog
53 #
[log 기록 분석 실습]
(p287 ~ 288 참조)
dvd/Packages/mysql* -> ~samadal/ 로 복사
Alftp 로 d: 에다가 다운로드
~samadal 안에 있는 mysql* 삭제
다시 d:에 있는 mysql*을 ~samadal로 업로드
# vi /var/log/xferlog
Thu Dec 11 14:29:03 2014 1 192.168.1.1 9221512 /export/home/samadal/mysql-server-5.1.73-3.el6_5.i686.rpm b _ o r samadal ftp 0 * c
Thu Dec 11 14:29:03 : 접근시간
1 : 작업시간
192.168.1.1 : 접속 ip
9221512 : 용량
/export/ho~ : 파일명
b:바이너리파일
일반 문서파일: a(아스키)
o:outgoing(=downlod)
i: incoming(=upload)
r samadal : /etc/passwd 에 있는 samadal 로 접속
a ? : 익명연결
ftp : ftp로 접속
0 : 인증방식, None (1 = rfc931)
(rfc : 접속하는 방법들을 문서화, 931 : 일련번호)
c : complete(성공)
i : incomplete(실패)
* vsftpd 방식 log
기본(xferlog)방식 : upload & download 만보여짐
xferfog 표준 포맷은 사용자의 로그인, 디렉터리 생성 등의 로그를 남기지 않지만 vsftpd 로그 기록 방식은 이를 포함한 보다 상세한 로그를 남길 수 있다.
56 xferlog_std_format=YES
57 #
no 로 바꾸고 재시작, 업로드 및 다운로드 진행
# vi /var/log/vsftpd.log
Thu Dec 11 14:47:16 2014 [pid 7515] [samadal] OK DELETE: Client "192.168.1.1", "/export/home/samadal/mysql-server-5.1.73-3.el6_5.i686.rpm"
=> vsftp 방식으로 로그 기록 남김
* idle_session_timeout
사용자가 ftp 접속 후 일정 시간 동안 아무런 작업을 하지 않으면 자동으로 접속을 끊게 되는데 이때 설정하는 시간. 단위는 초
58 # You may change the default value for timing out an idle session.
59 #idle_session_timeout=600
* date_connection_timeout
ftp 서버로부터 데이터 전송이 끝난 후에 또 다른 데이터의 전송이 이루어지지 않을 경우의 종료 대기시간. 단위는 초
61 # You may change the default value for timing out a data connection.
62 #data_connection_timeout=120
* 최상위로의 폴더 탐색 금지, 접근한 곳 외에 대한 접근 금지
접속하면 최상위로 접근하여 어디든 갈 수 있다.
거기에 /etc/passwd 파일 등의 것을 다운로드 가능하다. - 보안상 취약
접근한 곳 외에 접근 금지하게끔 하는 것, vsftpd 서버 설정 중 가장 먼저 해야 할 것이다.
96번줄 : 주석 풀기
95 # users to NOT chroot().
96 #chroot_local_user=YES
97 #chroot_list_enable=YES
98 # (default follows)
99 #chroot_list_file=/etc/vsftpd/chroot_list
100 #
하지만 가끔은 필요한 계정도 필요할것.
97과 99가 한 쌍으로 움직여 해당 기능 실행한다.
[실습]
위 설정 파일에서 97, 99번줄 주석 해제
user1 계정 생성
아직 데몬 재시작 안했다. alftp 통해 user1 으로 접속해보자
하지만 접속이 안되는데, 그 이유를 보니 chroot_list 를 읽을수 없다고 뜬다.
# cat > /etc/vsftpd/chroot_list
samadal
으로 samadal 을 해당 리스트에 올리니 samadal 로 접속 시 최상위까지 다 보인다.
user1으로 해보니 역시 자기 홈 디렉터리뿐이 보이지 않는다.
* ftp를 xinetd(슈퍼 데몬) 관리 하에 두기
110번 줄을 no 로 바꾸면 xinetd 를 거쳐 접속하게 된다.
110 listen=YES
111 #
* 접근 금지 host 목록
# vi /etc/hosts.deny
데몬명:ip:allow(혹은 deny)
ex)
vsftpd:192.168.1.*:deny
all:all:deny <- 모든 프로그램에 대하여 거절, putty도 사용 불가
# vi /etc/hosts.allow 가 존재하며, 접근 허용하는 목록도 작성 가능하다.
기본적으로 막는 것이 우선 이지만 같은 ip를 allow나 deny 2군데 모두 쓰면 allow가 되어버린다. 그러니 deny 만 건드리는 것이 좋다.
[문제]
기본으로는 root의 ftp 접속이 막혀있다.
교재 참조하여 root의 ftp 접속을 허용해보자.
# vi /etc/vsftpd/user_list
# vi /etc/vsftpd/ftpusers
에서 root 앞에 주석 붙이면 된다.
거기에 root이니 모든 디렉터리 접근 가능하게 설정하자.
# vi /etc/vsftpd/chroot_list
루트가 구지 ftp 서버를 이용할 필요는 없으니 실습 후에는 루트에게 허락한 권한 모두 수거.
[vsftpd 추가 옵션]
* 익명 사용자 최대 전송 속도 제한
익명 계정 접근 시 다운로드할 수 있는 최대 전송속도. 0은 제한 없음이며 단위는 bps
anon_max_rate=0
* 로컬 사용자 최대 전송 속도 제한
로컬 계정 접근 시 다운로드할 수 있는 최대 전송속도. 0은 제한 없음이며 단위는 bps
local_max_rate=0
* 최대 접속자수 제한
최대 접속자수 지정 옵션, 접속할 수 있는 최대 client 수 제한
max_clicnets=0
* 접속 최대 횟수 제한
client 호스트당 접속할 수 있는 최대 회수 제한
max_per_ip=0
* 익명 사용자가 사용할 홈 디렉터리 지정
anon_root=/var/ftp
'Study > CentOS' 카테고리의 다른 글
| [28] nfs(2), nfs auto mount, autofs(1) (0) | 2015.04.04 |
|---|---|
| [27] auto mount, 응급복구, nfs(1) (0) | 2015.03.28 |
| [25] vnc(1) (0) | 2015.03.28 |
| [24] openSSH, system-config-firewall, scp, sftp (0) | 2015.03.28 |
| [23] xinetd, telnet, krb5-telnet (0) | 2015.03.28 |
2014.12.10
[복습1]
수엽용 VMware 압축 새로 1개 더 풀기
기존 서버
/tmp/testfile
root 권한 막혀있음
samadal 계정
새 서버
/test/ssh /test/scp /test/sftp
root 권한 막기
samadal 계정 삭제
test 계정 생성
새 서버에 기존 서버의 testfile 을 각각 디렉터리에 넣기.
*
single 모드로 루트 진입
inittab 으로 GUI 진입, ip설정
samadal 삭제, test 생성
root가 ssh 접근 못하도록 생성
putty 통해 test로 접속
su - 통해 root 로 로그인하여 /test/ssh /test/scp /test/sftp 생성
권한문제 해결 위해 # chmod -R o+r /test/
[ Client 가 받아오기 ]
1) ssh
[test@samadal ~]$ ssh samadal@192.168.1.135
[samadal@samadal ~]$ scp /tmp/testfile test@192.168.1.136:/test/ssh
[samadal@samadal ~]$ logout
2) scp
[test@samadal ~]$ scp samadal@192.168.1.135:/tmp/testfile /test/scp/
3) sftp
[test@samadal ~]$ cd /test/sftp
[test@samadal sftp]$ sftp samadal@192.168.1.135
sftp> cd /tmp
sftp> get testfile
(= sftp> get testfile /test/sftp) - 윈도우는 수신측 경로 지정이 안되지만 여긴 된다.
=> Server 에서 주는 것도 비슷.
[복습2]
ssh 관련 모든 설정 초기화
samadal 관련 모든 정보 삭제 후 아래와 같이 samadal 계정 생성
-작업-
$HOME : /export/home
shell : ksh
skel : /skelsam
uid : 1200
gid : samg(1200)
comment : tiger
auto creating directory : public_html
auto creating file : jal_jom_haeyo
위와 같이 설정한 후 samadal 계정이 정상 로그인 되는지 확인
# vi /etc/ssh/sshd_conf
Root 로그인 관련 사항 주석처리
배너 사항 주석 처리 (<= /backup/ 에 백업해 둔것을 복사해도 됨)
새로운 putty 창으로 root로 로그인
samadal 계정 삭제
# userdel -r samadal
새로운 skelsam 디렉터리 생성, 복사, 추가 파일 생성
# mkdir /skelsam
# cp /etc/skel/.* /skelsam
# cp -r /etc/skel/.gnome2 /etc/skel/.mozilla /skelsam
# mkdir /skelsam/public_html
# touch /skelsam/jal_jom_haeyo
samadal home 디렉터리 생성 및 samq 그룹을 1200 GID 로 생성
# mkdir -p /export/home
# groupadd -g 1200 samg
대망의 useradd
# useradd -d /export/home/samadal -s bin/ksh -m -k /skelsam -u 1200 -g samg -c tiger samadal
# passwd samadal
1. vnc
vnc : Virtual Network Computing 의 약자로서 리모트에 있는 시스템에 원격으로 접속하여 관리할 수 있는 프로그램
원래 AT&T의 프로젝트였지만 지금은 http://www.realvnc.co 에서 개발이 진행되고 있음
오픈 소스인 VNC는 윈도우 기반의 터미널 서비스와 유사한 기능을 가진 프로그램이지만 플랫폼을 가리지 않는다는 특징이 있다.
1) vnc 특징 및 장점
설치가 간편하며 특별한 설정 없이 이용 가능
원격 접속이 아닌 내 앞에 시스템이 있는 것과 같은 해상도 제공
대부분의 운영체제에서 사용이 가능
2) vnc 설치
dvd 마운트
# rpm -ivh tigervnc-1.1.0-16.el6.i686.rpm
클라이언트용
# rpm -ivh tigervnc-server-1.1.0-16.el6.i686.rpm
서버용
3) vcn 설정
# vncserver
최초 실행 시 패스워드 설정
vncserver 실행 때마다 섹션번호가 1개씩 늘어난다.
# ll /root/.vnc/
합계 16
-rw------- 1 root root 8 2014-12-10 21:02 passwd
-rw-r--r-- 1 root root 2776 2014-12-10 21:03 samadal.madalgyo:1.log
---- ---
섹션번호 로그기록
-rw-r--r-- 1 root root 6 2014-12-10 21:03 samadal.madalgyo:1.pid
---
실행되는 프로그램의 PID 정보
-rwxr-xr-x 1 root root 654 2014-12-10 21:03 xstartup
=> 환경설정 실행 파일
# vncpasswd
패스워드 분실 시 사용
원격접속 - GUI 환경에서..
# vncviewer 192.168.1.142:2
=> 접속하려는ip:최근의 섹션번호
[문제]
윈도우에서 VNC-Viewer 으로 접속하려 했으나 실패, 그 원인 해결하시오
접속할 섹션번호가 사용할 프로그램의 PID를 안 후 그에 해당하는 포트를 열어줘야 한다.
# cat /root/.vnc/*.pid 에서 접속할 섹션번호의 PID 확인
# netstal -lntup | grep vnc
위 명령어로 vnc 에서 사용하는 프로그램의 포트 확인 후
# system-config-firewall
여기 접속하여 해당 포트들을 열어주면 된다. 5900번대와 6000번대, 2개가 발견 되지만 지금은 일단 5900번대만 열어도 된다.
하지만 깜빡거리면서 안된다..?
일단 Xvnc 관련 것 죽이고 디렉터리 재생성 위해 지운다.
# killall -9 Xvnc
# rm -rf /root/.vnc/
vncserver의 설정파일을 연 뒤 18, 19를 복사해서 아래처럼 해본다.
# vi /etc/sysconfig/vncservers
18 # VNCSERVERS="2:myusername"
19 # VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"
20
21 VNCSERVERS="1:root"
22 VNCSERVERARGS[1]="-geometry 800x600"
# /etc/rc.d/init.d/vncserver restart
실패한다면 아래 명령어 통해 패스워드 설정.
# vncpasswd
# rm -rf /tmp/.X*
통해서 해결되기도 함. 해결 완료 후에는 항상 리스타트(# /etc/rc.d/init.d/vncserver restart) 해야함
자세한 기타 설정은 다음 시간에 계속.
'Study > CentOS' 카테고리의 다른 글
| [27] auto mount, 응급복구, nfs(1) (0) | 2015.03.28 |
|---|---|
| [26] vnc(2), vnc with ssh, ftp (0) | 2015.03.28 |
| [24] openSSH, system-config-firewall, scp, sftp (0) | 2015.03.28 |
| [23] xinetd, telnet, krb5-telnet (0) | 2015.03.28 |
| [22] SELinux(소개), NIC, route, netstat, arp, nslookup, dig (0) | 2015.03.28 |
- 2014.12.09
1. openSSH
시스템을 침입하거나 네트워크를 통해 전송되는 패킷을 가로채는(Sniffing) 기술은 날로 증가하고 있으며 그 발전속도 또한 매우 빠르다.
리모트 시스템에 접속 시 편리함을 이유로 rlogin, rsh, telnet과 같은 프로그램을 많이 이용한다. 하지만 이러한 프로그램들은 데이터 전송시 평문으로 데이터들이 전송된다는 큰 단점이 있다. 이러한 문제점을 보완하기 위한 서비스가 SSH(Secrue Shell)이다.
1) SSH (Secure Shell)
SSH 서비스는 패킷이 암호화 되어 전송되기 때문에 Telnet과 같은 비 암호화 프로그램들을 대체하여 사용할 수 있으며, 또 패킷을 암호화시켜 전송하기 때문에 제 3자에 의해서 패킷이 도청(Sniffing)된다고 하더라도 암호화된 패킷을 해독할 수 있는 해독키가 없으므로 내용을 파악 하는 것은 매우 어렵다.
[실습]
DVD1 마운트 하여 openssh* PKG 설치
-> 설치되어 있음, CentOS 는 기본적으로 SSH 를 사용한다.
ssh 설정 파일 백업 후 진행
# cp /etc/ssh/sshd_config /backup/
# vi /etc/ssh/sshd_config
12
13 #Port 22
14 #AddressFamily any
15 #ListenAddress 0.0.0.0
13번 주석 삭제 후 포트 번호 바꾸면 SSH 접속 포트 변경 가능.
# /etc/rc.d/init.d/sshd restart
sshd 를 정지 중: [ OK ]
sshd (을)를 시작 중: [ OK ]
# netstat -lntup | grep sshd
tcp 0 0 0.0.0.0:2222 0.0.0.0:* LISTEN 2739/sshd
tcp 0 0 :::2222 :::* LISTEN 2739/sshd
2222번으로 바뀐것 확인. 하지만 푸티로 다시 접속이 되지 않는다. 바로 방화벽에서 막고 있기 때문.
네트워크 신호는 아래의 단계를 거쳐(아래에서 위로) 접속된다.
우리는 port 까진 설정 했지만 방화벽은 아직 열지 않은 것이다.
OS(방화벽)
port
IP
MAC
전기
# system-config-firewall
사용자 설정 - 다음 - 다음 - eth0 꺼주고 다시 이전으로 들어와
2222 포트, tcp 프로토콜 추가 한 뒤 종료한다.
# vi /etc/ssh/sshd_config
13 Port 2222
14 #AddressFamily any
15 #ListenAddress 0.0.0.0
16 ListenAddress 192.168.1.134
17 #ListenAddress ::
15번 줄을 16번 줄에 백업 시킨 후 현재 서버의 ip를 입력한다.
그리고 CentOS의 ip를 변경 후 변경된 ip로 putty를 접속하면 실패한다.
ListenAddress 는 접속하는 클라이언트의 ip 가 아니라 서버의 ip 이다.
시스템에 여러 ip가 존재 할 경우 서비스할 특정 ip를 지정하는 기능이다.
21 # activation of protocol 1
22 Protocol 2
22번 줄의 SSH 서비스 시 이용할 버전을 선택하는 것으로 보안상의 이유로 Protocol2 을 사용한다.
30 # Lifetime and size of ephemeral version 1 server key
31 #KeyRegenerationInterval 1h
32 #ServerKeyBits 1024
31번 줄 : 자동으로 생성된 키의 유효시간 지정
32번 줄 : 서버의 암호키 생성시 사용하는 bit 수 지정, 최소값은 512.
42 #LoginGraceTime 2m
43 #PermitRootLogin yes
44 PermitRootLogin no
45 #StrictModes yes
42번 줄 : 로그인 안하고 대기중인 시간
43번 줄 : (44번으로 백업 해놓음) 루트 권한 접속 금지
=> 루트의 다이렉트 접속 금지, 서버 구축 시 2번째로 해야 할 보안 사항. (1번째는 grub 암호 설정)
이렇게 되면 일반 사용자로 로그인, su - 로 관리자 권한 얻어야 한다.
45 #StrictModes yes
46 #MaxAuthTries 6
47 #MaxSessions 10
46번 줄 : 시도 6번
130 # no default banner path
131 #Banner none
132
131번 줄 : 배너 설정. ex) /ban/a 처럼 디렉터리 형식으로 문서 파일을 지정한다.
[ssh 접속 방법]
1) ssh servier_ip
접속 되어 있는 계정으로 접속
2) ssh -l 계정명 server_ip
3) 과 같음
3) ssh 계정명@server_ip
기본적으로 Windows 에서는 기본적으로 SSH를 제공하지 않는다.
따라서 무료인 PuTTY 나 유료인 SecureCRT 를 많이 쓴다.
2. scp
scp(Secure Copy) : 원격지의 데이터 복사하기
scp [-op] [s] [s] ... [t]
ex) p155
host:10, /tmp/A
host:20, /test/B
1) # scp 192.168.1.10:/tmp/A /test/
=> # scp samadal@192.168.1.10:/tmp/A /test/
2) # scp /tmp/A 192.168.1.20:/test/
=> # scp /tmp/A samadal@192.168.1.20:/test/
1) 의 경우는 root(나)가 samadal 계정으로 접속하여 복사해오는 것. 성공
=> download의 개념
# scp samadal@192.168.1.10:/tmp/A /test/
rwx------ rwxrwxrwt rwxr-xr-x
1 2 43
2) 의 경우는 samadal 정으로 로그인된 것으로 /test/ 에다 /tmp/A 를 복사하는 것.
이 경우에는 이미 /test/A 가 있기 때문에 덮어쓸 때에 /test/A 파일을 덮어 쓸 권한이 없어 실패.
하지만 chmod 646 /test/A 처리를 한 뒤면 samadal 계정도 해당 파일에 대한 w 권한이 있기 때문에 성공한다.
만약 /test/A 파일이 존재하지 않았다면 /test/ 디렉터리에 o+w 권한이 필요.
=> upload의 개념
# scp /tmp/A samadal@192.168.1.20:/test/
rwxrwxrwt rwx------ rwxr-xr-x
1 2 43
3. sftp
sftp : Secure FTP
일반적인 FTP 서비스는 암호화된 통신을 하지 않으므로 서비스 이용 시 안정성을 보장 받지 못한다.
sftp 서비스는 SSH 서비스와 함께 동작하는 서비스로, 데이터 전송 시 암호화된 데이터로 안정성을 보장받을 수 있다.
[명령어]
1) sftp server_ip : 현재 자신의 계정으로 접속
2) sftp 계정명@servier_ip
[사용법]
1) 작업하려는 디렉터리로 이동
2) put, get 으로 업로드 및 다운로드 진행
3) 종료는 quit, exit, Ctrl+Z 등 다양한 방법으로 가능
[문제]
(host:10)
/tmp/testfile 을 아래 3개의 디렉터리명의 방법으로 각각 복사.
(host:20)
1) /test/ssh/
2) /test/sftp/
3) /test/scp/
# chmod -R o+w /test/
1)
# ssh samadal@192.168.1.134
[samadal@samadal ~]$ scp samadal@192.168.1.134:/tmp/testfile /test/ssh/
2)
# cd /tmp/
# sftp samadal@192.168.1.134
sftp> cd /test/sftp
sftp> put testfile
3)
# scp /tmp/testfile samadal@192.168.1.134:/test/scp
'Study > CentOS' 카테고리의 다른 글
| [26] vnc(2), vnc with ssh, ftp (0) | 2015.03.28 |
|---|---|
| [25] vnc(1) (0) | 2015.03.28 |
| [23] xinetd, telnet, krb5-telnet (0) | 2015.03.28 |
| [22] SELinux(소개), NIC, route, netstat, arp, nslookup, dig (0) | 2015.03.28 |
| [21] 이론 - ip, subnetmask, prefix (0) | 2015.03.28 |


