Xshell FAQ

FAQ 목록 Show all answers Hide all answers

Xshell 커맨드라인 파라미터

명령 프롬프트와 같은 곳에서 명령어를 입력하여 Xshell을 실행할 때 사용할 수 있는 파라미터입니다.

  • 세션 파일 실행 : xshell "세션파일경로"
  • URL을 이용한 접속 : xshell -url [protocol://][user[:password]@]host[:port] 또는 '세션파일경로"
  • 세션대화상자 열기 : xshell -open
  • 레지스터창 열기 : xshell -register
  • Xshell 정보창 열기 : xshell -about
  • 등록정보창 열기 : xshell -prop "세션파일경로"
  • 새 창에서 열기 : xshell -newwin [protocol://][user[:password]@]host[:port] 또는 "세션파일경로"
  • 새 세션 만들기 : xshell -create "세션파일경로"
  • 폴더 내 모든 세션 열기 : xshell -folder "세션폴더경로"
  • 탭 이름 지정 :  xshell -newtab "탭 이름"

[] 부분은 생략이 가능한 부분입니다. 생략하면 기본값으로 작동하거나 사용자에게 필요한 정보를 물어 봅니다.

프로토콜을 SSH로 하고 192.168.10.100이라는 서버에, 그리고 계정은 root, 비밀번호는 passwd라고 가정했을 경우를 예로 들어 보겠습니다.

Xshell -url ssh://root:passwd@192.168.10.100
(Xshell v5에서는 -url 생략 가능)


이 경우는 현재 열려 있는 Xshell 중에서 마지막으로 포커스가 있었던 창으로 세션이 열립니다.

새로운 창으로 해당 세션을 열 경우 "-newwin" 파라미터를 넣어 줍니다.

Xshell -newwin ssh://root:passwd@192.168.10.100

감사합니다.


적용 버전 : Xshell 4, 5

Putty에서 생성한 .ppk 파일을 Xshell에서도 사용하고 싶습니다.

.ppk 파일은 Putty에서만 사용할 수 있는 사용자 키 파일(Putty Private Key)입니다.
Xshell에서는 해당 키 파일을 바로 사용할 수는 없고 OpenSSH 키 형식으로 변환하여 사용합니다.

1. Putty Key Generator라는 프로그램(PuttyGen.exe) 실행 후 해당 키 파일을 읽어 들입니다.


2. 변환(Conversion) 메뉴에서 OpenSSH Key 파일로 내보냅니다.


3. Xshell을 실행하여 '도구 -> 사용자 키 관리자'를 실행합니다.

4. 가져오기를 통해 위 2의 키 파일을 가져옵니다.


5. 세션 파일에서 위 4의 키를 지정합니다.


6. 서버에 등록된 퍼블릭 키는 별다른 설정이나 변환 없이 그대로 사용할 수 있습니다.

백스페이스 키에 이전 글자가 지워지지 않고 커서만 이동합니다.

stty의 erase 문자와 Xshell의 Backspace 시퀀스를 같게 하여 이전 글자를 지우도록 하고자 하는데,
백스페이스 키에 커서만 이전으로 이동하고 문자는 지워지지 않는 현상입니다.

최근의 리눅스나 유닉스에 있는 셸에서는 이런 현상이 잘 발생하지 않지만 오래된 유닉스/리눅스나 일부 네트워크 장비에서는 이런 현상이 생길 수 있습니다.

이런 경우에도 실제로는 글자가 지워진 상태로 명령이 전달되지만 사용자들은 불안하거나 불편할 수 있습니다.

이 문제는 터미널의 에코(echo) 기능과 관련된 문제로 터미널 옵션에서는 echoe 옵션이 이와 관련된 에코 옵션입니다.

$ stty -a
speed 9600 baud; line = 0;
rows = 24; columns = 95
min = 4; time = 0;
intr = DEL; quit = ^\; erase = ^H; kill = @
eof = ^D; eol = ^@; eol2 <undef>; swtch <undef>
stop = ^S; start = ^Q; susp <undef>; dsusp <undef>
werase <undef>; lnext <undef>
parenb -parodd cs7 -cstopb hupcl -cread -clocal -loblk -crts
-ignbrk brkint ignpar -parmrk -inpck istrip -inlcr -igncr icrnl -iuclc
ixon -ixany -ixoff -imaxbel -rtsxoff -ctsxon -ienqak
isig icanon -iexten -xcase echo -echoe -echok -echonl -noflsh
...

이 상태라면 백스페이스 키에 이전 글자가 지워지지 않은 것처럼 보일 가능성이 있습니다(서버에 전달할 문자열에서는 지워졌지만).

다음 명령으로 echoe의 설정을 바꿉니다.

$ stty echoe

대부분의 시스템에서는 echoe 설정만으로 이 문제가 해결됩니다.

하지만 일부 시스템은 echoe 값이 켜져 있음에도 이전 글자가 지워지지 않는 경우가 있습니다.
이 경우에는 터미널 클라이언트 자체적으로 이전 글자를 지우도록 할 수 있습니다.

다음 설정이 필요합니다.
  1. 서버 설정
    $ stty erase '^?'
  2. Xshell 설정
  • Backspace 시퀀스 : ^?
  • 'BACKSPACE 신호 시 강제로 글자 삭제' 옵션


백스페이스 키를 누르면 ^H 문자가 나옵니다.

앞 글자를 지우기 위해 백스페이키를 눌렀을 때 ^H(혹은 ^?) 문자가 출력되고 앞 글자는 지워지지 않는 경우가 있습니다.
앞 글자를 지우는 동작은 정확히는 커서를 앞에 보내고(Backspace) 스페이스 캐릭터를 발생한 후 다시 커서를 앞에 보내는 동작입니다. 이런 동작을 하도록 하는 시그널(혹은 명령)을 erase라고 합니다. 시스템마다 혹은 사용자의 설정에 따라 erase에 설정된 문자가 다를 수 있습니다.

사용자 환경에 설정된 erase 시그널 문자와 Xshell에서 보내는 문자가 일치하지 않을 경우 erase 명령이 작동하지 않고 해당 문자가 찍히게 됩니다.

현재 사용자에게 설정된 터미널 옵션들을 보기 위해서 다음 명령을 실행합니다.

$ stty -a
speed 9600 baud; line = 0;
rows = 24; columns = 77
min = 1; time = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U
eof = ^D; eol = ^@; eol2 <undef>; swtch <undef>
stop = ^S; start = ^Q; susp <undef>; dsusp <undef>
werase <undef>; lnext <undef>
parenb -parodd cs7 -cstopb hupcl -cread -clocal -loblk -crts
...

위 설정에서는 ^? 문자에 erase 명령이 실행되도록 설정되어 있습니다.

이제는 Xshell에서 Backspace 키 입력 시 발생하는 문자를 확인합니다.


이처럼 stty의 erase 설정 값과 Xshell의 Backspace 설정 값이 다를 경우 백스페이스 키를 눌렀을 때 글자가 지워지지 않고 Xshell의 백스페이스 시퀀스에 정한 값이 그대로 출력이 됩니다.

최근의 리눅스 환경에서는 이 두 값이 서로 상이하여도 백스페이스 키에 앞 글자가 지워지기도 하지만 오래된 리눅스나 유닉스 환경에서는 이 두 값이 일치하여야 원하는 결과를 얻을 수 있습니다.

윈도우 10으로 업그레이드 후 세션 파일 생성 및 수정이 안됩니다.

윈도우 10으로 업그레이드한 후 세션 파일에 대한 쓰기 권한이 없어서 생기는 문제입니다. 이 문제를 수정하기 위해서는 C:\Users\해당_사용자 폴더에 대한 '모든 권한'을 아래와 같은 방법으로 부여해야 합니다. 


이 방법은 마이크로소프트사가 제공하는 공식적인 해결책은 아니라는 점과 모든 경우에 다 적용할 수 있는 해결책이 아니라는 점을 유념하셨으면 합니다.


첫번째 방법: 
  1. C:\Users\해당_사용자 폴더의 속성 대화 상자를 엽니다.

  2. 보안 탭에서 고급을 누릅니다.

  3. 해당 사용자가 목록에 있고 액세스가 '모든 권한'으로 되어 있는지 확인합니다.

  4. 그렇지 않다면 추가를 눌러 해당 사용자를 추가하거나, 편집을 눌러 접근 권한을 변경하십시오.

  5. '이 컨테이너에 있는 개체 및/또는 컨테이너에 사용 권한 적용'을 선택합니다.


두번째 방법:

  1. 제어판 -> 네트워크 및 인터넷 -> 홈 그룹

  2. 존재하는 홈 그룹에 참가하거나 새로운 홈 그룹을 만듧니다.


세번째 방법: (클라우드 기반의 마이크로소프트 계정을 사용하는 경우)

  1. C:\Users\해당_사용자 폴더의 속성 대화 상자를 엽니다.

  2. 보안 탭에서 편집을 누릅니다.

  3. 추가를 누른 후 고급을 누릅니다.

  4. 지금 찾기를 눌러 사용 가능한 사용자 목록을 불러 옵니다.

  5. 사용하고자 하는 마이크로소프트 계정을 선택 후 확인 단추를 연속하여 누릅니다.

  6. 해당 사용자에게 '모든 권한'을 준 후 확인이나 적용을 누릅니다.


위 방법으로 문제가 해결되지 않을 경우 마이크로소프트사의 기술지원도 받아 보실 것을 권합니다.

Xshell에서 Xftp를 호출할 때 작업 디렉토리 전달이 안됩니다.

터미널 에뮬레이터가 현재 작업 중인 디렉토리를 알기가 어렵습니다.

pwd 명령 등을 통해서 경로를 알아 낼 수 있지만 vi 등의 애플리케이션을 사용 중이거나 cat, nslookup 등과 같이 터미널에 어떤 명령이 수행 중이라면 경로를 알아내지 못합니다.

Xshell은 이와는 다른 방법으로 현재 작업 경로를 알아 냅니다.

사용자가 bash 셸을 쓰고 있고 사용자 환경에 PROMPT_COMMAND 환경 변수 등이 설정되어 있어 Xshell 제목 표시줄에 어떤 입력 값을 줄 수 있는 경우에만 가능합니다.

PROMPT_COMMAND 환경 변수는 터미널의 제목을 표시할 수 있고 이 제목에 현재 경로를 표현하면 Xshell은 그 제목을 분석하여 현재 경로를 알아냅니다.

현재 접속 중인 터미널에서 PROMPT_COMMAND 명령으로 Xshell의 제목 표시줄에 경로 등이 반영되는지 확인해 보십시오.

접속 중인 Xshell의 해당 세션의 탭에서 마우스 오른쪽 버튼을 눌러 '터미널 제목 표시' 옵션을 켠 후 세션 탭이나 창 상단의 제목 표시줄에 나오는 문자열을 확인하시면 됩니다.

작업 경로를 이리 저리 이동하여도 Xshell 제목이 그에 맞게 변경되지 않는 다면 아래의 명령으로 PROMPT_COMMAND를 설정한 후 사용해 보십시오.

일반적으로 리눅스의 기본 PROMPT_COMMAND는 다음과 같습니다.
export로 명령어로 설정한 후 사용해 보십시오.

export PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}: ${PWD/#$HOME/~}"; echo -ne "\007"'

한글이 깨집니다.

ls 명령을 통한 파일 목록에서, vi 등의 파일 편집기에서 한글에 해당하는 부분이 깨져 보이는 경우가 있습니다.

터미널 프로그램에서 한글 입출력을 제대로 하기 위해서는 여러 가지 조건이 일치해야 합니다.

1. 파일이 한글을 포함하고 있는 텍스트 파일이라면 그 인코딩을 알아야 합니다.

유닉스/리눅스에서 사용하는 한글 인코딩은 크게 2가지입니다. 확장유닉스코드(EUC)라고 하는 완성형이고 다른 하나는 UTF-8 형식입니다. 한글 문서가 이 중 어떤 포맷으로 되어 있느냐에 따라서 결과가 달라 보입니다.

텍스트 문서에는 그것이 한글인지 영어인지, EUC인지 UTF-8인지에 대한 정보는 없습니다. 사용자가 그리고 응용프로그램이 그렇게 읽을 준비를 하고, 정해진 규칙대로 읽어서 필요한 폰트의 글꼴로 표현하는 것입니다.

2. 위 1의 인코딩대로 시스템의 환경 변수를 설정해야 합니다.

이제부터가 사용자 그리고 응용프로그램이 읽을 준비를 해야 하는 단계입니다.

EUC 한글이라면 사용하는 셸(sh, csh 등)에 따라,
$ LANG=ko_KR.eucKR; export LANG 혹은 setenv LANG ko_KR.eucKR

UTF-8 한글이라면 사용하는 셸(sh, csh 등)에 따라,
$ LANG=ko_KR.UTF-8; export LANG 혹은 setenv LANG ko_KR.UTF-8

이 설정이 위에서 말한 응용프로그램에게 그렇게 처리하도록 하라는 설정입니다.

3. 위 1의 문서를 처리하는 응용프로그램이 UTF-8을 처리할 수 있어야 합니다.

유닉스/리눅스 응용프로그램이 한글을 처리할 수 있어야 하고 UTF-8 문서라면 이 또한 처리할 수 있어야 합니다. 즉, 셸이나 vim 편집기 등에서 한글(중국어, 일본어 등) 및 UTF-8에 대한 고려가 되어 있어야 합니다.
다행히도 최근의 리눅스/유닉스는 한글 및 UTF-8을 처리할 수 있습니다.

4. 터미널 프로그램에서는 인코딩 설정이 위 2의 설정과 같아야 합니다.

Xshell 인코딩을 기본언어로 설정한 경우는 한글 윈도우의 경우 EUC 한글입니다. 위 2의 설정이 UTF-8이라면 인코딩을 유니코드(UTF-8)을 선택해야 합니다.

어떤 문서가 어떤 인코딩으로 된 문서인지 바이트 구성만으로 알 수도 있지만 비전문가가 그것을 알기는 어렵습니다. 
이런 저런 인코딩을 대입한 후 인식할 수 있는 문자가 보이면 그 인코딩이으로 되어 있다는 것을 알 수 있는 것입니다.

한글을 포함한 것 같은 어떤 문서를 Xshell로 열어 확인하고자 할 때 다음과 같이 해 보십시오.

1. 셸 환경 변수 확인 
$echo $LANG
ko_KR.UTF-8 또는 ko_KR.utf8
혹은
ko_KR.eucKR 또는 en_US.88591 등 UTF라는 문자가 들어가지 않았을 경우
 

2. Xshell 인코딩 확인 및 설정
ko_KR.UTF-8일 경우 => 유니코드(UTF-8)로 설정
ko_KR.eucKR일 경우 => 기본언어로 설정

3. vim 등으로 해당 파일 열기
문자열 확인. 문자열이 깨질 경우 LANG 환경 변수를 서로 다른 것으로 바꿔서 1~3 과정 진행.

Xshell은 어떤 종류의 프로토콜을 지원하나요?

Xshell은 Telnet, Rlogin, SSH1, SSH2 프로토콜과 시리얼 연결을 지원하는 강력한 터미널 에뮬레이터입니다. VT100, VT220, VT320, xterm, ansi, linux, 그리고 scoansi 터미널 에뮬레이션을 지원하며, Zmodem 그리고 SFTP 파일 전송을 지원합니다.

Xshell은 어떤 종류의 보안 알고리즘을 지원하나요?

네트워크 데이터를 암호화하기 위한 알고리즘으로는 AES128/192/256, 3DES, BLOWFISH, CAST128, ARCFOUR 및 RIJNDAEL128/192/256이 있으며, 데이터 무결성을 검사하기 위해 SHA1, SHA1-96, MD5, MD5-96, RIPEMD160, RIPEMD160@openssh.com  및 SHA2-256 MAC 알고리즘을 지원합니다.

복수의 암호화 알고리즘이나 MAC 알고리즘 리스트를 지정하여 리스트에서 여러 알고리즘을 시도해 볼 수 있는 기능을 제공합니다.

Xshell 버전이 낮은 곳에서 생성한 세션 파일을 최신 버전에서 사용할 경우 위 암호화 방법과 MAC 알고리즘을 사용할 수 있음에도 세션 파일에서 선택이 되어 있지 않은 경우가 있습니다. 이 경우에는 세션 파일을 열어 해당 리스트에서 선택되어 있지 않은 알고리즘을 선택하여 저장하면 됩니다.

SSH 포트 포워딩 기능을 이용하여 임의의 TCP 응용 프로그램을 안전하게 사용하려면 어떻게 해야 하나요?

SSH 포트 포워딩 기능을 이용하면, POP3(email), NNTP(news) 프로코콜 등과 같이 데이터 암호화가 지원되지 않는 기존의 TCP/IP 응용 프로그램들의 데이터를 암호화하여 안전하게 전달할 수 있습니다.

로컬 PC의 TCP 클라이언트 소프트웨어에서 원격 호스트의 서버 프로그램으로 연결할 때, Xshell의 보안 채널을 설정하려면, 다음 사항을 지정하면 됩니다.

다음은 버전 5를 중심으로 설명을 드리겠습니다.


  • 종류(방향) : Local(로컬에서 리모트로) : Xshell이 설치된 PC에서 SSH 서버를 SSH 서버 자체나 SSH 서버의 외부로 연결이 이루어집니다.
  • 원본 호스트 : localhost 
  • 수신 대기 포트 : POP3 클라이언트 등이 접속할 포트. Xshell이 설치된 PC의 포트.
  • 대상 호스트 : 연결할 POP3 서버 등의 원격 서버
  • Remote Port: 연결할 POP3 서버 등의 원격 서버가 대기 중인 포트

예를 들어, 원격 메일 서버(POP3: mail.remote.com:110)로의 연결을 SSH 포트 포워딩 하려면 다음과 같이 설정하면 됩니다.

  • 원본 호스트 : localhost
  • 수신 대기 포트 : 5110
  • 대상 호스트 : mail.remote.com
  • 대상 포트 : 110


그리고, 메일 클라이언트 프로그램(Outlook 등)의 설정을 다음과 같이 바꾸어 줍니다.

  • Incoming mail server: localhost
  • Incoming mail port: 5110

메일 클라이언트는 원격 메일 서버에 직접 연결하는 대신 로컬 SSH 클라이언트인 Xshell로 연결을 시도합니다. Xshell은 메일 서버로 향하는 모든 데이터를 암호화하여 원격 SSH 서버로 전달하며 원격 SSH 서버는 원격 메일 서버에 전달해 줍니다.

네트워크 연결이 끊어져도 Xshell이 종료되지 않도록 하고 싶습니다.

연결 종료시 Xshell이 끝나지 않고 로컬 쉘 상태로 있도록 설정하려면 다음과 같이 실행합니다.
  1. 도구 메뉴 -> 옵션을 클릭하여 옵션 대화 상자를 엽니다.
  2. 고급 탭을 클릭합니다.
  3. '옵션'에서 로컬 셸 상태로 남아 있도록 하는 옵션을 선택합니다.
    • 버전 5, 4 : 연결 종료 시 로컬 셸로 복귀
    • 버전 3 : 연결 종료 시 로컬 쉘로 빠져 나옴
Xshell 5 옵션 대화 상자

Xshell의 세션 파일을 다른 컴퓨터로 복사해서 사용하려면 어떻게 해야 하나요?

세션 파일이 저장되는 위치는 버전별로 다소 상이합니다.
다음 글을 참고하시어 저장 위치를 확인해 보시기 바랍니다.


세션 파일을 복사하여 새로운 시스템에 넣은 후 사용할 때에는 세션 암호를 사용하지 못하는 경우가 발생합니다.
세션 파일의 암호는 컴퓨터의 특정 정보를 포함하고 있기 때문입니다.

사용 중인 세션 파일들을 백업 후 재사용해야 할 필요성이 있는 경우에는 프로그램 내의 내 보내기 기능을 활용할 것을 권합니다.

Ctrl+Alt+P 등의 키를 사용하고 싶습니다.

Ctrl+Alt+T 등의 키 조합은 Xshell에서 새 창 열기 등의 단축 키로 사용하고, 유닉스/리눅스 등의 터미널에서는 Ctrl+Alt 키 조합을 많이 사용하지 않아 기본 키 값에는 빠져 있습니다.
그러나 이런 키 조합을 사용하는 emacs와 같은 프로그램은 필요한 키를 등록하여 사용하면 됩니다.

1. 키 값을 확인
콘솔이나 xterm과 같은 프로그램에서 다음 명령을 실행하여 키 값을 확인합니다.
$ sed -n l
^[^A   => Ctrl+Alt+A의 키 입력 후 엔터
\033\001$  => 위 키 입력에 대한 아스키 코드 값(8진수)

2. Xshell 키 매핑에 등록
가. 메뉴의 도구 -> 옵션 실행 후 '키보드와 마우스 -> 편집'을 선택하여 사용자 지정 키 매핑 대화 상자를 엽니다.
나. 새로 만들기 클릭 후 'Ctrl+Alt+A' 키 등을 입력
다. '동작' 종류를 '문자열 보내기' 선택
라. 동작란에 위 sed -n l 명령의 결과 값(\033\001) 입력
마. 확인 버튼을 연속으로 눌러 저장

참고로 Ctrl+Alt+A~Z의 값은 Ctrl+A~Ctrl+Z의 값에 ESC(\033) 키를 조합하여 전송합니다.

Ctrl+A~Z : \001~\032

따라서 Ctrl+Alt+Z의 값은 \033\032입니다.


Xshell 사용자 정의 키 매핑은 다음 경로에 파일로 저장되어 있으니 필요하면 이 파일을 수정하여 일괄 입력할 수 있습니다.

버전 4의 경우 : %APPDATA%\netsarang\Xshell\CustomKeyMap.ckm
버전 5의 경우 : 내 문서\netsarang\Xshell\CustomKeyMap.ckm



지난 제품을 사용하고 싶습니다.

새로운 버전의 제품은 지난 제품의 기능을 대부분 수용하지만 특정 환경에 맞도록 구성된 경우, 최신 버전이 필요가 없거나 오히려 문제를 일으키는 경우가 있습니다. 
이런 환경에서 새로운 시스템을 구성하거나 기존 시스템을 복구하는 과정에서 지난 버전의 제품이 필요합니다. 

다음은 지난 버전의 제품이 필요한 경우의 사용 안내와 제품 다운로드에 대한 내용입니다.

  • 제품은 항상 최신 버전만 판매합니다.
  • 최신 버전을 구매한 사용자는 지난 제품을 사용할 수 있습니다.
  • 단, 최신 버전과 지난 제품은 하나의 라이선스이므로 서로 다른 사용자가 동시에 사용할 수 없습니다.
  • 지난 제품에 대한 제품 번호는 따로 발급하지 않습니다.
  • 그러므로  구매 시 발급 받은 제품 번호를  하위 버전의 제품이 인식할 경우에만 사용 가능합니다.
  • 지난 버전에 대한 기술지원은 제품에 추가적인 변경(기능 추가, 버그 수정)을 하지 않는 범위 내인  사용 방법, 접속 방법 등에 대해서만 이루어 집니다.

지난 제품 다운로드 방법
  1. 홈페이지를 방문합니다.  http://www.netsarang.co.kr/download/software.html
  2. '지난 제품' 탭을 누릅니다. (초기값은 '최신 버전' 페이지입니다.)
  3. 원하는 제품을 클릭하여 다운로드 페이지로 이동합니다.
  4. 원하는 다운로드 경로를 눌러 해당 제품을 다운로드합니다. 이 때 해당 제품에 대한 제품 번호를 입력해야 합니다. 상위 버전의 제품 번호여도 가능합니다.
지난 제품의 사용에 참고가 되길 바랍니다.

감사합니다.

글꼴 목록에 윈도우 글꼴 중 일부만 나옵니다.

Xshell은 우선 Windows에 설치된 모든 폰트들의 목록을 갖고 온 후, 사용할 수 있는 폰트들을 목록에 표시해 줍니다.

폰트에는 고정된 폭을 가진 고정폭 폰트와 글자에 따라 폭이 변하는 가변폭 폰트가 있습니다. 예를 들어 '굴림' 폰트는 가변폭 폰트이고, '굴림체' 폰트는 고정폭 폰트입니다. 한글에서는 크게 차이가 없지만 영문을 사용하는 경우 i와 같이 폭이 좁은 글자를 사용해보면 확실히 알 수 있습니다. Xshell과 같은 터미널 프로그램에서는 터미널의 특성상 고정폭 폰트를 써야만 화면이 정상적으로 출력되기 때문에 고정폭 폰트만을 목록에 표시해 줍니다.

또한 Xshell의 인코딩 설정 (언어 설정)에 따라서도 사용할 수 있는 폰트의 종류가 달라지기 때문에, Xshell은 해당 인코딩 설정에서 사용할 수 있는 폰트들의 목록만을 표시해 줍니다.

Xshell에서 SFTP 프로토콜로 파일 전송하는 방법을 알고 싶습니다.

Xshell의 Local 쉘 프롬프트 상에서 sftp 명령을 이용하여 파일 전송 작업이 가능합니다.
  1. 다음과 같이 파일 전송작업을 원하는 호스트로 sftp 명령을 실행하여 연결합니다.
    sftp [user@]host [port]
    실행 명령 예)
    Xshell> sftp myhostname
    Xshell> sftp myusername@myhostname
    Xshell> sftp myusername@myhostname 12345
  2. sftp 명령이 실행되면 지정한 호스트로 연결되어 파일 다운로드/업로드 명령을 수행할 수 있습니다.
    sftp 프롬프트 상에서 수행할 수 있는 작업은 help 명령으로 리스트할 수 있습니다.
    sftp:/home/myusername> help
    bye finish your SFTP session
    cd change your remote working directory
    clear clear screen
    exit finish your SFTP session
    explore explore your local directory
    get download a file from the server to your local machine
    help give help
    lcd change and/or print local working directory
    lls list contents of a local directory
    lpwd print your local working directory
    ls list contents of a remote directory
    mkdir create a directory on the remote server
    mv move or rename a file on the remote server
    put upload a file from your local machine to the server
    pwd print your remote working directory
    quit finish your SFTP session
    rename move or rename a file on the remote server
    rm delete a file
    rmdir remove a directory on the remote server
    sftp:/home/myusername>
  3. 파일 업로드 과정을 예로 들면 아래와 같습니다.
    1. cd 명령어로 업로드하고자 하는 디렉토리로 이동(서버)
    2. lcd 명령어로 업로드할 파일이 있는 디렉토리로 이동 (Windows)
    3. lls로 파일명 확인
    4. put 명령어로 업로드
Xftp가 설치되어 있다면 Xftp와 Xshell을 연동하여 파일 업로드/다운로드를 보다 쉽고 안전하게 할 수 있습니다. 자세한 사항은 다음 FAQ를 참고하십시오.

서버 A에 연결하기 위해서 꼭 서버 B를 거쳐야 합니다. Xshell이 직접 서버 B에 연결하도록 설정할 수 있나요?

서버 B를 중재 서버로 이용하여 서버 A에 접속하시고자 하실 때에는 Xshell의 자동 입력 규칙 기능을 이용할 수 있습니다. 아래의 절차에 따라 Xshell을 설정해 보십시오.
  1. Xshell을 실행합니다.

  2. Xshell 상단의 [파일] 메뉴에서 [열기]를 선택합니다.
    결과: 세션 대화상자가 나타납니다.

  3. 중재 서버로 이용하고자 하는 세션(서버 B)을 선택합니다. 없으면 새로 만들기를 실행합니다.

  4. 세션에 오른쪽 클릭 후 [등록정보]를 선택합니다.
    결과: 세션 등록정보 대화상자가 나타납니다.

  5. [로그인 스크립트]를 선택합니다.

  6. [세션 연결시 자동 입력 기능을 사용합니다] 박스를 선택합니다.
    결과: [추가]버튼이 활성화됩니다.

  7. [추가]버튼을 선택합니다.
    결과: 자동 입력 규칙 대화상자가 나타납니다.

  8. 대기 입력란에는 중재 서버(B 서버)에 접속 후 나오는 명령어 프롬프트 문자열을 확인하여 이 문자열을 입력합니다.
    예) 사용자의 명령어 프롬프트가 [oracle@OTS oracle]$라면 oracle]$을 입력하십시오.
    참고: 공백 문자도 유효하므로 주의하십시오.

  9. 응답란에는 최종 서버(서버 A)에 연결할 때 사용하는 SSH또는 Telnet 명령어를 입력합니다.
    예) ssh John@192.168.1.193

  10. 암호와 기타 명령어의 설정을 위해 8단계와 9단계를 다음과 같이 반복합니다.
    대기 입력란 => Password:
    응답 입력란 => A 서버에 접속하기 위한 비밀 번호
    ※비밀 번호를 숨기고자 할 경우 '문자열 숨기기'를 선택합니다.
  11. 저장하고 B 세션을 실행합니다.

※대기 입력란에 입력해야 하는 문자열은 정해져 있지 않습니다. 접속하고자 하는 유닉스/리눅스 장비마다, 해당 장비의 OS마다 다릅니다. 또한 접속할 때 사용하는 ssh, telnet과 같은 프로토콜마다 그리고 이 프로그램의 종류나 버전, 그리고 설정에 따라 나타나는 대기 문자열이 다릅니다. 실제로 나타나는 문자열을 파악한 후 적용하여야 합니다.

SSH란 무엇인가요?

SSH는 Secure Shell(보안쉘)의 약자이며 네트워크 상의 데이타 암호화, 기존 로그인 쉘의 기능에 사용자 인증, 호스트 인증 등 보안 기능을 정의한 보안쉘 프로토콜입니다.

X11 포워딩을 사용하여 안전하게 X 응용프로그램을 실행하려면 어떻게 해야 하나요?

SSH 프로코콜의 X11 Forwarding 기능을 이용하여 X 응용 프로그램을 안전하게 실행하는 과정은 다음과 같습니다.
  1. Xshell에 X11 forwarding 기능 설정하기
  2. SSH 서버의 X11 forwarding 기능 설정하기
  3. Xshell 터미널에서 X 응용 프로그램 실행하기

1. Xshell에 X11 Forwarding 기능 설정하기

[SSH 고급 옵션] 대화 상자의 [터널링] 탭에서 [X11 연결을 다음으로 포워드합니다.] 를 선택합니다. Xmanager가 설치되어 있다면 [Xmanager]를 선택하고, 다른 X 서버 프로그램이 설치되어 있다면 [DISPLAY] 란에 PC X 서버에 맞게 설정해 주어야 합니다. 만약 PC X 서버가 TCP 6000 번 포트를 사용하고 있다면, ”localhost:0.0”을 입력하십시오.


2. SSH 서버의 X11 Forwarding 기능 설정하기

SSH 서버의 종류에 따라 설정하는 방법이 다릅니다. 아래의 표와 같이 설정한 후 SSH 서버를 다시 시작합니다.

SSH server Config file Setup
OpenSSH /etc/ssh/sshd_config X11Forwarding yes
SSH.COM /etc/ssh2/sshd2_config AllowX11Forwarding yes


3. Xshell 터미널에서 X 응용 프로그램 실행하기
  1. Xmanager를 선택한 경우에는 다음 단계로 진행하십시오. 먼저 PC X 서버를 실행합니다.
  2. X11 Forwarding 이 설정된 세션으로 SSH 연결을 엽니다.
  3. Xshell의 쉘 프롬프트 상에서 다음과 같이 X11 응용 프로그램을 실행합니다.

    nathaniel@intranet ~]$ xterm &
    [nathaniel@intranet ~]$ startkde &
    [nathaniel@intranet ~]$ gnome-session &

Xshell과 Xftp를 연동하는 방법을 알고 싶습니다.

Xftp가 설치되어 있으면, 특정 호스트에 연결된 상태의 Xshell 메인 윈도우 툴바에 Xftp 버튼(새 파일 전송)이 활성화됩니다.
  1. 툴바의 Xftp 버튼(새 파일 전송)을 클릭합니다.



  2. Xftp가 실행되면서 Xshell과 같은 서버, 같은 사용자로 연결됩니다.

호스트 연결에 실패한 후 "Could not connect to ..." 라는 에러 메시지가 나옵니다.

"Could not connect to 'hostname': Unknown host."

호스트 이름이 올바른지 확인하십시오. 또는 호스트 이름 대신 IP 주소를 입력하여 연결을 시도해 보십시오.

"Could not connect to 'hostname' (port 22): Connection failed."

호스트가 연결을 위한 준비되었는지 확인하십시오. 또한 포트 번호가 서버가 사용하는 번호인지 확인해 보십시오. SSH 프로토콜로 연결하려면 먼저 호스트에 sshd 서버 프로그램을 설치하여 실행해야 합니다.

SSH1과 SSH2 프로토콜의 차이점은 무엇인가요?

SSH2는 SSH1의 보안 기능을 강화하여 새로 나온 보안 프로토콜로 SSH1과는 완전히 다른 프로토콜입니다. 따라서, SSH1 서버가 설치된 호스트에 연결하려면 SSH1 프로토콜로 연결하여야 합니다.

SSH2 프로코콜에서는 서버 인증을 위해 DSA 공개 키 알고리즘을 사용하며,사용자 인증을 위해 Password, DSA/RSA 공개 키 및 Keyboard Interactive를 지원합니다.

Xshell은 SSH1 과 SSH2 프로토콜을 모두 지원하므로 호스트에 설치된 SSH 서버의 버전에 따라서 선택하여 사용할 수 있습니다.