Difference between revisions of "Secure Shell (한국어)"

From ArchWiki
Jump to: navigation, search
(fix i18n box)
m (codeline -> ic)
Line 273: Line 273:
 
  $ ssh -ND 4711 user@host
 
  $ ssh -ND 4711 user@host
  
여기서 {{Codeline|"계정"}}은 당신의 계정이며 {{Codeline|"host"}}는 접속할 서버입니다. 암호를 물어보며 연결될 것입니다. {{Codeline|"N"}} 옵션은 대화형 프롬프트 플래그를 해제합니다. 그리고 {{Codeline|"D"}} 옵션은 내용을 수신할 로컬 컴퓨터의 포트를 지정합니다. (원한다면 언제든지 포트 번호를 선택할 수 있습니다.)
+
여기서 {{Ic|"계정"}}은 당신의 계정이며 {{Ic|"host"}}는 접속할 서버입니다. 암호를 물어보며 연결될 것입니다. {{Ic|"N"}} 옵션은 대화형 프롬프트 플래그를 해제합니다. 그리고 {{Ic|"D"}} 옵션은 내용을 수신할 로컬 컴퓨터의 포트를 지정합니다. (원한다면 언제든지 포트 번호를 선택할 수 있습니다.)
  
 
위 작업을 쉽게 하려면 {{Filename|~/.bashrc}} 파일에 다음과 같이 추가합니다.
 
위 작업을 쉽게 하려면 {{Filename|~/.bashrc}} 파일에 다음과 같이 추가합니다.
Line 279: Line 279:
 
  alias sshtunnel="ssh -ND 4711 -v user@host"
 
  alias sshtunnel="ssh -ND 4711 -v user@host"
  
자세한 정보를 위해 {{Codeline|"-v"}} 옵션을 넣으시면 됩니다. 연결되는 내용을 확인할 수 있게 됩니다. 지금 {{Codeline|"sshtunnel"}} 명령어를 실행해보세요.
+
자세한 정보를 위해 {{Ic|"-v"}} 옵션을 넣으시면 됩니다. 연결되는 내용을 확인할 수 있게 됩니다. 지금 {{Ic|"sshtunnel"}} 명령어를 실행해보세요.
  
 
=== 2단계 : 브라우저 설정 (또는 다른 프로그램) ===
 
=== 2단계 : 브라우저 설정 (또는 다른 프로그램) ===
Line 327: Line 327:
 
  # fusermount -u ~/remote_folder
 
  # fusermount -u ~/remote_folder
  
If we work on this folder on a daily basis, it is wise to add it to the {{Filename|/etc/fstab}} table. This way is can be automatically mounted upon system boot or mounted manually (if {{Codeline|noauto}} option is chosen) without the need to specify the remote location each time. Here is a sample entry in the table:
+
If we work on this folder on a daily basis, it is wise to add it to the {{Filename|/etc/fstab}} table. This way is can be automatically mounted upon system boot or mounted manually (if {{Ic|noauto}} option is chosen) without the need to specify the remote location each time. Here is a sample entry in the table:
 
  sshfs#USER@remote_server:/tmp /full/path/to/directory fuse    defaults,auto    0 0
 
  sshfs#USER@remote_server:/tmp /full/path/to/directory fuse    defaults,auto    0 0
  

Revision as of 17:33, 11 December 2011

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

소개

SSH 또는 Secure Shell은 네트워크상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그 통신규약을 가리킵니다. 기존의 rsh, rlogin, 텔넷 등을 대체하기 위해 설계되었으며, 강력한 인증 방법 및 안전하지 못한 네트워크에서 안전하게 통신을 할 수 있는 기능을 제공합니다. 기본적으로는 22번 포트를 사용합니다.

SSH는 암호화 기법을 사용하기 때문에, 통신이 노출된다 하더라도 이해할 수 없는 암호화된 문자로 보입니다.

OpenSSH

OpenSSH (OpenBSD Secure Shell) is a set of computer programs providing encrypted communication sessions over a computer network using the ssh protocol. It was created as an open source alternative to the proprietary Secure Shell software suite offered by SSH Communications Security. OpenSSH is developed as part of the OpenBSD project, which is led by Theo de Raadt.

OpenSSH is occasionally confused with the similarly-named OpenSSL; however, the projects have different purposes and are developed by different teams, the similar name is drawn only from similar goals.

OpenSSH 설치

# pacman -S openssh

SSH 설정

클라이언트

SSH 클라이언트 설정은 Template:Filename 파일에서 설정할 수 있습니다.

아래는 예시입니다.

Template:File

Protocol 설정을 2로 하는 것을 권장합니다.

Protocol 2

Protocol 1은 다소 불안정한 것으로 간주합니다.

데몬

SSH 데몬은 Template:Filename 파일에서 설정할 수 있습니다.

아래는 예시입니다.

Template:File


일부 사용자에 대해서만 사용을 허용하려면 줄을 추가하면 됩니다.

AllowUsers    사용자1 사용자2

이렇게 다음과 같이 보이는 줄들을 변경하면 원하는 설정을 할 수 있습니다.

Protocol 2
.
.
.
LoginGraceTime 120
.
.
.
PermitRootLogin no # (put yes here if you want root login)

You could also uncomment the BANNER option and edit Template:Filename for a nice welcome message.

Tip: 기본 22번 포트 말고도 다른 포트로도 변경 가능합니다.(security through obscurity).

Even though the port ssh is running on could be detected by using a port-scanner like nmap, changing it will reduce the number of log entries caused by automated authentication attempts.

접속 허용 방법

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:Secure Shell (한국어)#)
Template:Box Note

외부에서 접속하려면 Template:Filename 파일에서 다음을 추가합니다.

# 모든 허용
sshd: ALL

# 또는 특정 IP만 허용
sshd: 192.168.0.1

# 또는 특벙 범위만 허용
sshd: 10.0.0.0/255.255.255.0

# 또는 특정 IP 대역만 허용
sshd: 192.168.1.

Template:Filename 파일을 확인하여 다음처럼 조정할 수 있습니다.

ALL: ALL: DENY

외부로 접속할 수 있으며 외부에서 내부로 접속할 수 있습니다.

새로울 설정을 이용하여 시작하려면 데몬을 재시작하면 됩니다.

# /etc/rc.d/sshd restart

부팅 시 시작하기

부팅 시 sshd 데몬을 시작하려면 Template:Filename 파일에서 DAEMONS 항목에 sshd를 추가합니다.

DAEMONS=(... ... sshd ... ...)

데몬을 시작, 정지, 재시작을 하기 위한 명령어는 다음과 같습니다.

# /etc/rc.d/sshd {start|stop|restart}

서버 접속하기

서버에 접속하려면 다음과 같습니다.

$ ssh -p port user@server-address

기타 정보

암호화된 터널

이것은 무선 환경에서 연결하는데 유용합니다. 당신이 원하는 건 집이나 회사처럼 안전한 곳에서 돌아가는 SSH 서버일 것입니다. 동적인 DNS나 기억하지 않아도 되는 IP 주소에서 유용할 것입니다.

1단계: 연결하기

당신이 사용하는 터미널에서 다음 명령어를 사용합니다.

$ ssh -ND 4711 user@host

여기서 "계정"은 당신의 계정이며 "host"는 접속할 서버입니다. 암호를 물어보며 연결될 것입니다. "N" 옵션은 대화형 프롬프트 플래그를 해제합니다. 그리고 "D" 옵션은 내용을 수신할 로컬 컴퓨터의 포트를 지정합니다. (원한다면 언제든지 포트 번호를 선택할 수 있습니다.)

위 작업을 쉽게 하려면 Template:Filename 파일에 다음과 같이 추가합니다.

alias sshtunnel="ssh -ND 4711 -v user@host"

자세한 정보를 위해 "-v" 옵션을 넣으시면 됩니다. 연결되는 내용을 확인할 수 있게 됩니다. 지금 "sshtunnel" 명령어를 실행해보세요.

2단계 : 브라우저 설정 (또는 다른 프로그램)

  • 파이어 폭스: 도구 → 설정 → 고급 → 네티워크 → 연결 → 설정:
"프록시 수동 설정" 체크한 후 "SOCKS host" 칸에 "localhost" 를 입력합니다, 그리고 다음칸에 포트 번호를 입력합니다.
사용하는 프로토콜로 SOCK4를 선택해야 합니다. SOCKS5는 작동하지 않습니다.

X11 포워딩

SSH 연결을 통해 그래픽 프로그램을 실행하려면 X11 포워딩을 통하여 할 수 있습니다. 옵션은 서버와 클라이언트 구성 파일에 설정해야 합니다.

서버에 xorg-xauth를 설치 합니다.

# pacman -S xorg-xauth

SSH로 당신의 서버에 접속합니다.

# ssh -X -p port user@server-address

만약 그래픽 응용프로그램을 실행하려고 하는데 오류가 난다면 다음과 같이 합니다.:

# ssh -Y -p port user@server-address

이제 원격 서버에 있는 X 프로그램을 시작할 수 있으며 로컬 세션이 전달되어 출력됩니다.:

# xclock

SSHFS로 원격 파일 시스템 마운트 하기

sshfs 설치

# pacman -S sshfs

Fuse 모듈 올리기

# modprobe fuse

Template:Filename에서 modules 배열란에 fuse를 추가하여 시스템 부팅 때 모듈을 올릴 수 있습니다.

sshfs를 사용하여 원격 디렉토리를 마운트

# mkdir ~/remote_folder
# sshfs USER@remote_server:/tmp ~/remote_folder

위의 명령은 로컬 컴퓨터의 ~/remote_folder 디렉토리에 원격 서버의 /tmp 디렉토리를 마운트하는 명령어입니다. Copying any file to this folder will result in transparent copying over the network using SFTP. Same concerns direct file editing, creating or removing.

When we’re done working with the remote filesystem, we can unmount the remote folder by issuing:

# fusermount -u ~/remote_folder

If we work on this folder on a daily basis, it is wise to add it to the Template:Filename table. This way is can be automatically mounted upon system boot or mounted manually (if noauto option is chosen) without the need to specify the remote location each time. Here is a sample entry in the table:

sshfs#USER@remote_server:/tmp /full/path/to/directory fuse    defaults,auto    0 0

Keep Alive

Your ssh session will automatically log out if it is idle. To keep the connection active (alive) add this to ~/.ssh/config or to /etc/ssh/ssh_config on the client.

ServerAliveInterval 5

This will send a "keep alive" signal to the server every 5 seconds. You can usually increase this interval, and I use 120.

Links & References