2007년 8월 23일 목요일

Windows Shutdown command

TSSHUTDN [대기 시간] [/SERVER:서버 이름] [/REBOOT] [/POWERDOWN] [/DELAY:로그오프 지연] [/V]대기 시간 사용자에게 알린 후 모든 사용자 세션을 종료하기 전까지 기다리는 시간(초)
(기본값은 60).
/SERVER:서버 이름 종료할 서버(기본값은 현재 서버).
/REBOOT 사용자 세션이 종료된 후 서버를 다시 부팅.
/POWERDOWN 서버가 전원 꺼짐을 준비함.
/DELAY:로그오프 지연 연결된 모든 세션을 로그오프한 후 기다리는 시간(초)(기본값은 30).
/V 수행 중인 동작에 대한 정보를 표시.

2007년 7월 31일 화요일

Trackback

Linkbacks(Refback, Trackback, Pingback)의 세 가지 type 중 하나로,
한 게시자의 글을 누군가가 link할 때 글 게시자에게 link되었음을 알리는 요청을 하기위한 방법이다. 이것은 게시글에 대해 누가 link하고 있거나, 누가 참조하고 있다는 것을 게시자가 추적할 수 있다.

참조: http://en.wikipedia.org/wiki/Trackback

2007년 7월 17일 화요일

SSH Tunneling


ssh -R port:host:hostport ssh_user@ssh_server

ssh_server서버에 ssh_user라는 계정으로 접속하되 port로 지정한 포트로 들어오는 패킷을 host의 hostport로 포워딩한다는 것이다. 언뜻 알기 어렵지만 차근 차근 이해해 보자.
port : ssh_server에서 열 포트 번호다. (여기서 ssh_user가 ssh_server의 루트가 아니라면 1024번 이상의 포트번호를 지정해야 한다)
host : vpn 및 firewall 안쪽에 있는 우리가 바깥에서 사용할 서버의 ip 또는 이름이다. (꼭 안쪽에 있을 필요는 없다. ssh -R ... 명령을 내리는 자신의 컴퓨터에서 접근 가능해야 한다)
hostport : 위의 host 에서 우리가 이용하려는 서비스가 열려있는 포트 번호다. (역시 접근 가능해야 한다)



ssh -L localport:localhost:port ssh_user@ssh_server
이 명령은 vpn 또는 firewall 바깥의 환경에서 쓰이게 된다. 즉 집이나 외부업체의 회의실 또는 외딴 섬마을 학교의 pc실에서 쓰인다는 것이다.
localport : 현재 작업 중인 컴퓨터에서 열릴 포트이다. (netstat -nl 에서 Listen 중인 것으로 나타날 것이다)
localhost : 말 그대로 localhost라고 적는 것이다. 127.0.0.1 도 무방하다. 여기서 localhost 는 ssh_server의 루프백 주소를 가리킨다.
port : ssh -R 에서의 port 와 같다.





실제의 예 1 (ssh서비스 이용하기)
여기서는 실제로 명령어를 다루는 예를 들겠다. 다음과 같은 컴퓨터들이 등장한다.
my_office_pc (IP : 224.20.X.22 under Firewall)
ssh_server (IP : 210.32.X.221)
my_home_adsl_pc (IP: 61.78.X.226) 지금 시각은 오후 5:32분, 내일 오전까지 끝내야할 작업이 거의 다 끝나가지만 잔업은 하기 싫다. 집에서 작업하고 싶지만 방화벽 때문에 외부에서는 접속할 수가 없는 처지다.

my_office_pc 에서
my_office_pc ~$ ssh -R 22:localhost:22 210.32.X.221
myaccout@210.32.X.221's password: _ <-- ssh_server 패스워드 입력
ssh_server ~$ _


my_home_adsl_pc 에서
my_home_adsl_pc ~$ ssh -L 2222:localhost:22 210.32.X.221
myaccout@210.32.X.221's password: _ <-- ssh_server 패스워드 입력
ssh_server ~$ _
다른 터미널을 열고
my_home_adsl_pc ~$ ssh -p 2222 localhost
myaccout@localhost`s password: _ <-- my_office_pc 의 패스워드 입력
my_office_pc $ _ <--- 사무실에 ssh 로 연결 되었다!!!


실제의 예 2 (터미널 서비스 이용하기)
여기서는 실제로 명령어를 다루는 예를 들겠다. 다음과 같은 컴퓨터들이 등장한다.
my_office_pc (IP : 224.20.X.22 under Firewall,Windows XP)
ssh_server (IP : 210.32.X.221)
my_home_adsl_pc (IP: 61.78.X.226) 지금 시각은 오후 5:45분, 내일 오전까지 끝내야할 작업이 거의 다 끝나가지만 잔업은 진짜!! 하기 싫다. 집에서 작업하고 싶지만 방화벽 때문에 외부에서는 접속할 수가 없는 처지다.


my_office_pc 에서
지금의 사무실의 컴퓨터는 윈도우 환경이다. 윈도우에서는 별도의 ssh 프로그램이 필요하다.
putty (터널링이 가능한 최신 버젼)
plink (putty 의 자매 프로그램, windows console 에서 사용 가능하다. plink -R 또는 plink -L 로 unix 에서와 유사하게 사용한다.
ssh (cygwin 환경에서 사용가능) plink 를 사용해보기로 하자.
> plink -R 3389:localhost:3389 210.32.X.221
myaccout@210.32.X.221's password: _ <-- ssh_server 패스워드 입력
ssh_server ~$ _



my_home_adsl_pc 에서
집의 PC는 linux 또는 rdesktop 을 사용해야 한다. 이유는 MS에서 제공하는 windows용 terminal client는 별도로 IP를 확인하기 때문에 인증이 이루어지고도 사용은 불가능하다.
my_home_adsl_pc ~$ ssh -L 3389:localhost:3389 210.32.X.221
myaccout@210.32.X.221's password: _ <-- ssh_server 패스워드 입력
ssh_server ~$ _
다른 터미널을 열고
my_home_adsl_pc ~$ rdesktop localhost:3389 (포트번호는 생략가능)
//rdektop에서 my_office_pc의 윈도우 계정 패스워드 입력
//rdesktop이 시작된다.

2007년 7월 13일 금요일

자동실행 - Linux Version

/etc/rc.d/rc.local에 명령 추가

2007년 7월 11일 수요일

SSH root login 막기

1. /etc/ssh/sshd_config file에서 PermitRootLogin no로 설정
2. sshd restart

su 명령에 권한 설정

1. /usr/bin/sudo file 삭제
2. /bin/su file에 대한 권한 변경
# chmod 4750 /bin/su
# chown root:wheel /bin/su
3. /etc/group file에서 wheel group에 su 명령의 사용을 허용할 id를 추가

Telnet login 허용/거절 설정

file "/etc/pam.d/login"을 다음 라인을 첫 줄에 추가

auth required /lib/security/pam_listfile.so item=user sense=[allowdeny] file=/etc/telnetusers onerr=succeed

file "/etc/telnetusers"은 허용/거절할 사용자 목록을 한 줄에 하나씩 기술한다.