블로그 이미지
Rootrator
1개를 알면 모르는 10개가 튀어나온다..!

calendar

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

Notice

2011. 4. 5. 15:54 Linux

ssh로 특정서버에 접근을 하게 되면 패스워드를 묻는게 정상이다.

하지만 ssh-keygen을 통해 발급받은 인증키를 서버에 저장해 놓으면 따로 패스워드 인증없이 ssh가 가능하며,

이를 통해서 rsync(rsync는 ssh를 이용한다.)를 crontab에 두어 사용이 가능하다.

rsync는 서버의 데이터를 보내는 방식이 아닌 가지고 오는 방식이다.

따라서 rsync설정은 데이타를 가져와야 하는 서버에서 설정해야 맞다.

데이타 원본이 있는 서버를 A서버

데이타를 받아야 하는 서버를 B서버 라 하겠다.

ssh는 암호화 말고 개인키와 공개키를 이용하여 인증을 한다.

이 방법은 인증키 생성후 서버에 두어 패스워드 인증을 거치지 않는다.

이제 공개키를 생성해 보자.

[root@serverB ~]# ls -al | grep .ssh
drwx------  2 root root  4096  4월  5 14:51 .ssh

이 디렉토리가 없다면 한번이라도 ssh접속을 안한 서버이거나 실수로 지웠다거나...
아무튼 해당 디렉토리로 이동하자

[root@serverB ~]# ssh-keygen -t rsa

-t옵션은 생성하는 파일의 타입을 정하는 옵션이다.

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):[ENTER]
Enter passphrase (empty for no passphrase):[ENTER]
Enter same passphrase again:[ENTER]
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.

이제 생성된 파일중에 id_rsa.pub파일의 내용을 복사하고

A서버에서 이 키값을 입력한다.

[root@serverA ~]# cd .ssh
[root@serverA ~]# vi authorized_keys


rsync는 root로 작업하기 때문에 root의 홈디렉토리 아래에 있는 .ssh폴더에 넣어두었다.

이제 암호인증없이 ssh 접속이 가능케 되었다.


이제 서버에서 rsync설정을 해두자

먼저 A서버에서 /etc/xinet.d/rsync 에서 disable을 no로 설정하여 활성화 후에 xinetd를 재시작한다.

[root@serverA ~]# service xinetd restart

rsync는 기본으로 873포트를 사용하지만.. 기껏 ssh인증다 해놓고 다른 포트 쓰긴 그렇다..

이제 B서버에서 rsync를 crontab에 등록해 두자.

rsync -azrt -e ssh --delete 서버A IP:/데이타 원본 경로 /동기화할 경로/

옵션에 대해 알아보면

-a : 아카이브 모드. 링크, 속성, 퍼미션 등이 그대로 보존이 된담.
-v : 진행상황을 보여줌
-z : 전송이 압축하여 전송
-r : 하위 디렉토리 포함
-l : 심볼릭 링크 재생성
-p : 퍼미션 업데이트
-t : 변경 시간 그대로 보존(옵션이 없으면 전송시간으로 변경됨)
-g : 그룹속성 보존
-u : 추가된 파일만 전송
-b : 낡은 파일일 경우 ~를 붙임
-e : ssh를 사용시 뒤에 ssh를 붙혀줌
--delete : 원본서버에 없는 파일은 클라리언트에서도 삭제
--existing : 추가된 파일은 제외하고 갱신된 파일만 전송
--exclude : 지정된 디렉토리를 제외


대충 이렇다...

끝.!

반응형

'Linux' 카테고리의 다른 글

FTP 상위디렉토리 접근차단  (0) 2011.04.06
crontab  (0) 2011.04.05
가상호스트의 2차도메인에 접속되지 않을때  (0) 2011.03.28
bind (네임서버) 사용하기  (0) 2011.03.28
[펌] 아파치에서 Redirection 사용하기  (0) 2011.03.04
posted by Rootrator
2011. 4. 5. 15:07 Network

윈도우나 리눅스에서 서버의 연결상태를 확인하기 위해서 PING 명령어를 즐겨 쓴다.

이때 나오는 TTL값에 대해 알아보자.

TTL값은 Time To Live로 약자로 패킷이 네트워크상에서 살아있는 시간을 말한다.

이 TTL값은 라우터를 하나 지나칠때마다 -1씩 감소하며

0이 되면 소멸하게 되어있다.


WINDOWS는 128로 설정이 되어 있고, LINUX는 64로 설정이 되어있다.

이 설정값은 바꿀수가 있는데.

WINDOWS는 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters에서

DefaultTTL이라는 이름의 DWORD(64비트)생성 후에 10진수로 64로 설정해 주면 재부팅 후에 TTL이 64로

설정을 바꿀수 있다.

리눅스는 /proc/sys/net/ipv4/ip_default_ttl에서 바꾸어 줄수 있다.
반응형

'Network' 카테고리의 다른 글

Root 네임서버 업데이트 주기  (0) 2013.03.29
3com 스위치 초기화  (1) 2012.11.28
서버 Ethernet 속도 잡아주기  (0) 2011.03.28
IP(Internet Protocol)  (0) 2011.03.04
posted by Rootrator
2011. 3. 31. 13:44 Windows

IIS를 이용하여 FTP를 돌릴 경우 여러 계정을 사용할때 사용자 격리 옵션을 체크한다.

이 옵션을 이용하면 각 계정마다 홈디렉토리를 지정해 줄 수 있는데..

FTP홈 디렉토리 밑에 localuser\계정명이 생성되어 있지 않으면

위와 같은 에러가 뜬다.

홈 디렉토리를 D:\로 잡아 두었다면

D:\localuser\계정명 폴더가 생성이 되어 있어야 한다.(물론 권한도)
반응형
posted by Rootrator
2011. 3. 30. 16:20 Mysql

요 근래 2대의 서버IP 변경 후에 게시물을 살펴보니

VOD게시판에 동영상 링크를 ip로 직접 걸어놓은 게시물이 있었다..

게다가 그 양이 어마어마해서 일일히 수정하기엔 시간도 걸리고 해서..

mysqldump로 sql파일을 추출해서 일괄 수정후 복원 해 주시로 했다.

먼저 mysqldump로 db를 백업

[root@localhost ~]# /usr/local/mysql/bin/mysqldump -uroot -p패스워드 BD명 > 파일명.sql

그런데 오류가 떳다.

mysqldump: Got error: 1017: Can't find file: './디비명/테이블명.ftm' (errno: 24) when using LOCK TABLES

테이블에 Lock가 걸려있다고 한다.

--lock-all-tables 옵션을 넣어 주면 정상적으로 백업이 진행된다.

[root@localhost ~]# /usr/local/mysql/bin/mysqldump -uroot -p패스워드 --lock-all-tables DB명 > 파일명.sql

자 이제 vi로 일괄 치환 작업을 진행한 후 저장하다.

vi편집기 일괄 치환
:%s/찾을문자열/바꿀문자열/g

이제 다시 복원을 해주도록 하자.

[root@localhost ~]# /usr/local/mysql/bin/mysql -uroot -p패스워드 DB명 < 파일명.sql


정상적으로 게시물이 수정되었다.

반응형
posted by Rootrator
2011. 3. 28. 17:29 Linux

httpd.conf에 가끔 같은 도메인이지만 2차도메인이 다를경우

해당 디렉토리로 변경하려고 가상호스트를 2개 잡는 경우가 있다.

<VirtualHost *>
ServerAdmin master@abc.com
DocomentRoot /home/abc/a
ServerName a.abc.com
ErrorLog /var/log/~~
...
... 
</VirtualHost >

<VirtualHost *>
ServerAdmin master@abc.com
DocomentRoot /home/abc/b
ServerName b.abc.com
ErrorLog /var/log/~~
...
... 
</VirtualHost >

이때 b.abc.com에 접속하였으나 a.abc.com으로 접속이 되는 경우가 있는데

가상호스트 설정에서 같은 ServerAdmin을 주었다면

설정 파일 위치상 위에 설정한 가상호스트만 접속이 된다.

이럴경우 ServerAdmin을 다르게 수정한다.
반응형

'Linux' 카테고리의 다른 글

crontab  (0) 2011.04.05
인증없이 ssh/rsync 접속하기  (0) 2011.04.05
bind (네임서버) 사용하기  (0) 2011.03.28
[펌] 아파치에서 Redirection 사용하기  (0) 2011.03.04
/etc/fstab 특정 LABEL에 대한 정보보기  (0) 2011.03.03
posted by Rootrator
2011. 3. 28. 17:26 Linux


yum -y groupinstall "DNS Name Server"

vi /var/named/chroot/etc/named.conf

설정 파일 복사

ln -s /var/named/chroot/etc/named.conf /etc/named.conf

cp -rf /usr/share/doc/bind-9.3.6/sample/etc/ /var/named/chroot/
cp -rf /usr/share/doc/bind-9.3.6/sample/var/named/ /var/named/chroot/var/

이후에 named서비스를 시작하지만 named.ca파일이 없다는 오류가 뜬다

wget http://www.directadmin.com/named.ca
mv named.ca /var/named/chroot/var/named/

해당 파일을 다운로드한 후에 다시 서비스를 시작하면 정상적으로 서비스가 올라온다.

이제 rndc.conf파일을 수정하자.

vi /etc/rndc.conf 수정
================================
options {
        default-server  localhost;
        default-key     "rndckey";
};

server localhost {
        key     "rndckey";
};

include "/etc/rndc.key";
================================

물론 키값을 conf파일에 직접 넣어주어도 되지만

여기선 파일을 include해서 사용했다.

/etc/init.d/named start

반응형
posted by Rootrator
2011. 3. 28. 12:15 Network

서버상에서 Ethenet속도를 재설정 해주어야 하는 경우가 있다.

물론 서버상에서 잡은 속도와 스위치포트에서 잡아준 속도가 일치해야 한다.


LINUX part.

리눅스에서는 mii-tool로 속도를 잡아줄수 있다.

[root@localhost ~]# mii-tool -v
eth0: negotiated 100baseTx-FD flow-control, link ok
  product info: Intel 82555 rev 4
  basic mode:   autonegotiation enabled
  basic status: autonegotiation complete, link ok
  capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  advertising:  100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
  link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
eth1: no link
  product info: Intel 82555 rev 4
  basic mode:   autonegotiation enabled
  basic status: no link
  capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  advertising:  100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control

-v옵션으로 정확한 정보를 확인 할 수 있다.

[root@localhost ~]# mii-tool -F 100baseTx-FD eth0

위 명령어로 100Mbps FD 로 설정이 가능하고

restart로 적용이 끝나게 된다.

[root@localhost ~]# mii-tool --restart eth0



Windows part.

윈도우는 뭐 별거 없다.

내컴퓨터 - 관리 - 장치관리자 - 네트워크 어댑터에서 자신의 랜카드를 선택하고 속성 - 고급탭에서 설정해 줄 수 있다.


확인. 끝.
반응형

'Network' 카테고리의 다른 글

Root 네임서버 업데이트 주기  (0) 2013.03.29
3com 스위치 초기화  (1) 2012.11.28
TTL 값  (0) 2011.04.05
IP(Internet Protocol)  (0) 2011.03.04
posted by Rootrator
2011. 3. 24. 14:38 Mssql
쿼리 분석기에서 아래 쿼리를 때리쟈

select @@version


Microsoft SQL Server  2000 - 8.00.2039 (Intel X86)   May  3 2005 23:18:38   Copyright (c) 1988-2003 Microsoft Corporation  Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 2)

 sqlserver.exe  릴리즈
 2000.8.00.194  RTM
 2000.8.00.384  SP1
 200.8.00.534  SP2
 2000.8.00.760  SP3
 2000.8.00.760  SP3a
 2000.8.00.2039  SP4


 
반응형
posted by Rootrator
2011. 3. 24. 12:11 Mysql

어느날 홈페이지상에서 테이블이 깨져 복구를 해야 한다는 메세지가 뜬적이 있었다.

myisamchk로 체크 후 복구를 해보자.

[root@localhost bin]# ./myisamchk ../var/깨진DB.MYI
Checking MyISAM file: ../깨진DB.MYI
Data records:     886   Deleted blocks:       0
myisamchk: warning: Table is marked as crashed
myisamchk: warning: 27 clients are using or haven't closed the table properly
- check file-size
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
- check data record references index: 2
- check data record references index: 3
- check data record references index: 4
- check data record references index: 5
- check data record references index: 6
- check data record references index: 7
- check data record references index: 8
- check data record references index: 9
- check data record references index: 10
- check data record references index: 11
- check record links
myisamchk: error: Checksum for key:  8 doesn't match checksum for records
MyISAM-table '../var/깨진DB.MYI' is corrupted
Fix it using switch "-r" or "-o"

-r이나 -o 옵션을 주어 복구 하란다.

[root@localhost bin]# ./myisamchk -r ../var/깨진DB.MYI
- recovering (with sort) MyISAM-table '../var/깨진DB.MYI'
Data records: 886
- Fixing index 1
- Fixing index 2
- Fixing index 3
- Fixing index 4
- Fixing index 5
- Fixing index 6
- Fixing index 7
- Fixing index 8
- Fixing index 9
- Fixing index 10
- Fixing index 11

이제 정상적으로 복구가 되었다

반응형
posted by Rootrator
2011. 3. 24. 11:18 Security

간혹 특정 서버의 Sucure로그를 보면 해외IP로 무수히 많은 SSH접근을 시도한 흔적이 있었다.


그래서 특정 IP또는 특정 계정만 접속이 가능하도록 설정을 하였다.

먼저 특정 IP만 SSH가 가능하도록 설정을 하기 위해선

일단 SSH를 전부 차단하도록 하자.

[root@localhost ~]# vi /etc/hosts.deny

sshd : ALL

위 설정으로 모든 호스트(IP)는 ssh 사용이 불가능하다.

이후에

[root@localhost ~]# vi /etc/hosts.allow

sshd : xxx.xxx.xxx. : ALLOW (C클래스 단위 ssh접속 허용)
sshd : xxx.xxx.xxx.xxx : ALLOW (단일 호스트 ssh 접속허용)


hosts.deny와 hosts.allow는 deny가 먼저 적용 된 후에 allow가 적용이 된다.

이제 ssh서비스를 재시작하면 끝.


계정을 차단하기 위해선 pam을 이용해야 한다.

[root@localhost ~]# vi /etc/pam.d/sshd

account   required   pam_access.so

해당 줄을 추가 해준다음

[root@localhost ~]# vi /etc/security/access.conf

-:ALL EXCEPT 계정1, 계정2:ALL

위 내용추가한 후에는 access.conf에 정의해준 계정 이외엔 SSH접속이 불가능하다.


반응형

'Security' 카테고리의 다른 글

su 제한하기  (0) 2012.01.02
리눅스 웹서버정보 숨기기  (0) 2011.12.13
/tmp 보안설정하기  (2) 2011.09.05
SPF 레코드 확인 방법  (0) 2011.04.14
mod_unique_id: unable to find IPv4 addres  (0) 2011.03.03
posted by Rootrator