씨큐어 셸

From Hidden Wiki
(Redirected from Ssh)
Jump to navigation Jump to search

개요

씨큐어 셸(Secure Shell)은 SSH로 줄여서 부르기도 하며 네트워크를 통해 다른 컴퓨터에 접근 하거나 그 컴퓨터에서 명령 실행 등을 할 수 있도록 해주는 응용 프로그램 혹은 그 프로토콜을 말한다.

리눅스 SSH 클라이언트의 경우 /usr/bin/ssh에 설치되어 있다. CentOS 최소 설치 패키지에 SSH 서버(sshd)는 있지만, SSH 클라이언트(ssh)는 없다. 리눅스에서는 최소 설치만 아니라면 대체로 설치되어 있다. Telnet, Rlogin 등의 서비스에서 보안을 좀 더 강화하기 위해 나왔다.

SSH(Secure Shell)는 두 호스트간의 통신 암호화와 사용자 인증을 위하여 공개 열쇠 암호 기법을 사용한다.

네트워크의 다른 컴퓨터에 로그인 할 수 있으며 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는 프로그램이다.

강력한 인증방법과 안전하지 못한 네트워크에서 안전하게 통신을 할 수 있는 기능을 제공해 준다. 즉, telnet, rlogin, rcp등과 비교해 보면 이들은 스니퍼를 당하면 입력 문자 그대로 패킷이 쉽게 노출된다. 이에 반해 ssh는 이 모든 문자들을 암호화 하여 비록 노출이 된다 하더라도 이해할 수 없는 암호화된 문자로 나타나게 되는 것이다. 또 IP스푸핑, DNS 스푸핑등으로부터 SSH를 사용하면 보호가 가능한다. 세션 하이젝킹(Session Hijacking)과 DNS 스푸핑을 방지해 주면서 원격 호스트에 로그인 하거나 호스트끼리 데이터를 복사하기 위해 사용될 수 있다. 일반 login프로그램과 달리 패킷 전송시 암호화하기 때문에 원격 관리의 보안이 매우 안정적이다.

SSH는 RSA공개키/개인키 방식을 이용하여 암호화 하게 되는데 Secure ID, S/Key, Kerberos and TIS 역시 지원한다. 또한, SSH 는 X11서버와 연결도 지원 하므로 접속한 서버의 X프로그램 또한 실행 가능하게 해준다. 그리고 파일 전송 등 현재는 sftp까지 지원을 하고 있으며, SOCKS 도 지원 한다.

현재는 ssh1과 ssh2가 나와 있는데 ssh1은 공개로 자유롭게 사용 가능하지만 ssh2는 비상업적인 경우에만 자유롭게 사용할 수 있는 라이선스 제한을 가하고 있다. 이 라이선스 문제를 해결하기 위해 오픈BSD(OpenBSD)측에서 오픈 소스오픈SSH(OpenSSH)를 만들었다.

윈도우즈에서 ssh를 통해 단말기 접속을 하려면 putty를 사용한다. 기본접속 포트는 22이다. 보안을 위해 다른 포트로 변경하거나, 공유기 설정을 통해 다른 포트로 우회하는 것을 권장한다. 공개된 서버에 22번을 열어놓으면, 중국쪽에서 꼭 ssh_bruteforce_attack이 들어온다.

사용 방법

리눅스에서 터미널 켜고 가상 사설 써버(VPS)에 접속하여 명령어를 입력해서 사용하면 된다. 구체적인 씨큐어 셸 사용 방법은 표면 웹 싸이트 제작 문서와 다크 웹 싸이트 제작 문서를 참조하면 된다.

다른 서버 접속하기

명령어
ssh 아이디@호스트주소

호스트 주소 위치에 도메인 네임을 넣어도 되지만 안 될 경우 서버 IP 주소를 넣으면 된다.

실행예시
[root@zetawiki ~]# ssh root@135.79.246.80
root@135.79.246.80's password: P@ssw0rd
Last login: Mon Mar 31 21:58:46 2014 from 246.80.135.79
[root@webserver1 ~]#

22번 이외 포트 사용

명령어
ssh 아이디@호스트주소 -p포트번호
실행예시
[root@zetawiki ~]# ssh root@example.com -p1022
root@example.com's password: P@ssw0rd
Last login: Mon Mar 31 21:58:46 2014 from 246.80.135.79
[root@webserver2 ~]# 

SCP를 통한 파일 복사

자신의 컴퓨터에서 가상 사설 써버(VPS)로 파일 업로드를 할 경우 리눅스 터미널ssh 접속한 후에 scp 명령어를 입력하는 게 아니라 터미널 켜고서 ssh 접속 안 한 상태로 scp 명령어를 입력해야 파일을 업로드 할 수 있다. 파일 이동이나 압축 풀기 등 다른 작업들은 ssh로 접속한 후 평상시 자신의 컴퓨터에서 리눅스 터미널 쓰듯이 하면 된다.

1. 서버 2대 환경

- 서버 1 : ip (192.168.0.20), username(ngee)

- 서버 2 : ip (192.168.0.30), username(garden)

2. scp 사용 예제

서버 1에 존재하고 있는 test.txt 라는 파일을 서버 2의 garden의 홈 폴더에 복사하고 싶으면 아래와 같이 사용하시면 되겠죠?

서버 1의 terminal에서 실행

scp  ./test.txt  garden@192.168.0.30:/home/garden

쉽죠? 찬찬히 보면

scp 복사하려는_파일_위치_및_이름 (한칸띄고) 서버2의_아이디@서버2의_ip주소:서버2의_특정위치

  • 참고 : - 서버2의_아이디 및 비밀번호를 알고 계셔야겠죠?

- 서버2의_특정위치 바로 앞에 : (콜론) 이 붙어있습니다.

- 서버2의_특정위치는, 앞서 작성한 서버2의_특정계정의 쓰기 권한이 있어야겠죠?

3. scp 사용 예제 하나 더

폴더도 복사할 수 있어요.

서버 1에 존재하고 있는 test_folder가 있다고 가정하고 이를 서버 2의 garden의 홈 폴더 아래 있는 dev 폴더에 복사하고 싶으면 아래와 같이 사용하시면..

서버 1의 terminal에서 실행

scp -r ./test_folder garden@192.168.0.30:/home/garden/dev

2번의 예제와 별로 다른 것은 없구요.

option으로 -r이 붙으면 폴더를 복사하겠다는 것입니다.

http://ngee.tistory.com/264

접속 종료

씨큐어 셸(ssh) 접속 종료 명령어는 exit이다.

SSH를 이용한 방화벽 우회

ssh 서버를 socks5 proxy로 써서 방화벽 등등을 우회하는 방법을 알아보자.

**“방화벽 밖에 있으면서 SSH 접속 및 터널링이 가능한 서버" **가 필요하다.

간단히 "**집 컴퓨터를 계속 켜놓을 수 있다**"면 준비물은 끝.

일단, 회사쪽에서 열린 포트가 있는지 확인해본다.

보안 목적으로 막은 경우, 즉 별도의 프로그램을 설치할 필요가 없이 인터넷은 가능하지만 일부 서비스가 불가능한 경우에는 아무리 빡빡하게 막아도 __인터넷 서핑용 포트인 80번 포트는 열려 있다__. 인터넷을 시도했을 때 웹페이지는 뜬다면 80번 포트는 열려있다고 보면 된다. DNS 서비스용 포트인 53번도 보통 열려있는 포트이며, 8080도 잘 열려 있는 포트 중 하나인 것 같다.

SSH 서버에서 해당 포트 번호를 열어보고 접속이 되는지 확인해 보는 것이 좋을 것 같다.

잘 못찾겠으면 회사 컴퓨터에서 http://www.whatsmyip.org/ports/ 에 접속하여 포트 테스트를 해본다. ((퇴근 시간 이후 할 것.))


서버측 준비물

우분투가 편하다.

freeSSHd (윈도우)

freeSSHd는 어떤 ssh 클라이언트든지 (OpenSSH CL와 호환이 되는 Windows (XP, 비스타, 7,2008)를 위한 자유로운 SSH 서버이다.

 * 홈피: http://www.freesshd.com/
 * 다운: http://www.freesshd.com/freeSSHd.exe

Tech:freesshd 2.jpg

 - 깔고 Setting
 - 포트 PORT 는 회사컴퓨터에서 열려있는 것으로 확인한 포트 (80이나 8080, 53 등) 중 하나로 설정.
 - 재시작
 * 접속용 아이디를 만들어 넣어야함. 암호설정도 참고..

잘모르겠으면 [문서]를 참조하여 공부한다.

우분투

 - 우분투를 서버 버전을 전기 적게 먹는 적당한 컴퓨터 (486이나 386 등)에 깐다..
 - 설치 시 ssh도 같이 설치...
 - 만들어진 계정을 기억해 둘 것.

클라쪽 준비물 myentunnel

다운 http://nemesis2.qx.net/pages/MyEnTunnel

 * [참조] [[1]]

Template:Http://kldp.org/files/settings.PNG

클라쪽 프록시 사용 세팅

IE나 FF의 프록시 세팅을 한다

Tech:tunnel.png

socks에 localhost, 포트는 7070

SSH로 게임을 하려면

socksifier, proxifier or sockscap

프로그램 자체에 Proxy 세팅이 가능하지 않는 프로그램도 강제로 Socks Proxy 를 통해서 접속하도록 하는 프로그램

WideCap

WideCap is a free socksifier that integrates with the system network stack and does not rely on pre-loading a library like some other socksifiers. It works with many games and applications that cannot be used with socksifiers like SocksCap and FreeCap. We know it works well with Steam powered games.

http://widecap.ru/en/download/

http://whdd.tistory.com/attachment/cfile25.uf@156993534E2E344732E1E0.exe%7Cwidecap_setup.en.1.5 (1).exe

FreeCap

http://www.freecap.ru/eng/