터미널 관련 게시글 - JooTC https://jootc.com/p/tag/터미널 Windows, macOS, Linux, IT, 프로그래밍 등 여러가지 테크 분야에 대한 정보와 습득 지식을 포스팅하는 블로그입니다. Fri, 05 Apr 2024 08:06:02 +0000 ko-KR hourly 1 https://jootc.com/wp-content/uploads/2020/06/cropped-jootc-icon-logo-2020-04-1-32x32.png 터미널 관련 게시글 - JooTC https://jootc.com/p/tag/터미널 32 32 167838187 PortX 출시 – 크로스플랫폼 SSH 클라이언트 https://jootc.com/p/202108023755 https://jootc.com/p/202108023755#respond Mon, 02 Aug 2021 10:08:11 +0000 https://jootc.com/?p=3755 2021년 6월 1일, (주)넷사랑컴퓨터에서 크로스플랫폼 SSH 클라이언트인 PortX를 출시했습니다. 넷사랑컴퓨터에서는 강력한 SSH 클라이언트인 Xshell과, FTP/SFTP 클라이언트인 Xftp와 XDMCP, RDP 등을 지원하는 X Server인 Xmanager 등의 제품이 있습니다. PortX는 이 세 제품과 포지션이 거의 비슷하지만 macOS나 리눅스와 같이 여러 OS를 동시에 지원하고, 모던한 디자인을 채택했으며 데이터 동기화 등의 신규 기능 지원과 같은 몇가지 차이점이 있습니다. PortX […]

The post PortX 출시 – 크로스플랫폼 SSH 클라이언트 appeared first on JooTC.

]]>
2021년 6월 1일, (주)넷사랑컴퓨터에서 크로스플랫폼 SSH 클라이언트인 PortX를 출시했습니다.

넷사랑컴퓨터에서는 강력한 SSH 클라이언트인 Xshell과, FTP/SFTP 클라이언트인 Xftp와 XDMCP, RDP 등을 지원하는 X Server인 Xmanager 등의 제품이 있습니다. PortX는 이 세 제품과 포지션이 거의 비슷하지만 macOS나 리눅스와 같이 여러 OS를 동시에 지원하고, 모던한 디자인을 채택했으며 데이터 동기화 등의 신규 기능 지원과 같은 몇가지 차이점이 있습니다.

PortX 출시, 주요 기능은?

portx-screenshot-202108-02

PortXSSH2 프로토콜로 원격 서버의 터미널에 접속할 수 있는 터미널 에뮬레이터입니다. PuTTY와는 달리 자주 접속하는 세션에 대한 관리나 커스터마이징에 강점을 두고있습니다.

Xshell을 개발한 회사에서 출시한 제품이다보니 추후 Xshell과 유사한 기능이 많이 지원될 것으로 보입니다.

  • 윈도우, macOS, 리눅스 지원
  • 로컬 셸 지원, 윈도우는 CMD, PowerShell이나 WSL을 기본 셸로 지정하여 사용
  • 세션 관리 지원
  • 클라우드 드라이브로 앱 데이터 동기화
  • 애플리케이션 테마 지원
  • 터미널 Drag & Drop 파일 업로드 지원 (SFTP 프로토콜)
  • 터미널 스타일 커스터마이징 지원
  • Password / Public Key / Keyboard Interactive 지원
  • TCP/IP Forwarding 지원
  • Agent Forwarding 지원
  • X11 Forwarding 지원
  • 호스트 키 관리 및 검증 지원
  • 사용자 키 관리
  • 키 매핑 기능
  • 로깅 지원 (현재는 연결 로그만 지원됩니다.)
portx-screenshot-202108-01

또한 앞으로 다음 기능이 추가 될 예정이라고 합니다.

  • SFTP 지원 (+ GUI 파일 전송 지원)
  • 스크립트 호스팅
  • 분할 탭 작업

PortX 설치 방법

portx-screenshot-202108-03

PortX는 아직 새로운 기능이 개발 중인 오픈 베타 상태입니다. 따라서 아직 Xshell에 비해 부족한 기능이 많으며, 몇몇 불안정한 부분이 있을 수 있습니다.

먼저 홈페이지에서 더 자세한 정보를 알아볼 수 있습니다.

PortX는 운영체제별로 제공되는 앱스토어와, 패키지 다운로드 버전 등의 다양한 방법으로 배포되고 있습니다.

윈도우와 macOS용 스토어가 아닌 버전(x86 설치버전)은 홈페이지에서 받으실 수 있습니다. 이외에도 Winget, Homebrew, Chocolatey와 같은 CLI 인터페이스로도 설치가 가능합니다.

The post PortX 출시 – 크로스플랫폼 SSH 클라이언트 appeared first on JooTC.

]]>
https://jootc.com/p/202108023755/feed 0 3755
Vim 붙여넣기 시 잘못된 탭 문자(Auto indent) 해결하기 https://jootc.com/p/202101233691 https://jootc.com/p/202101233691#respond Sat, 23 Jan 2021 10:20:33 +0000 https://jootc.com/?p=3691 터미널상에서 Vim 에디터를 사용하여 코드를 편집할 때, 주로 외부에서 코드를 복사하여 붙여넣는 경우가 있습니다. 예를 들면 다음과 같은 코드를 어떤 웹사이트에서 복사하여 Vim에서 편집 중인 파일로 붙여넣으려고 합니다. 그런데 붙여넣은 텍스트의 탭 문자 상태가 기존의 모습과 달리 엉망진창으로 나타나는 것을 알 수 있습니다. 첫번째 이미지와 같이 가지런히 붙여넣어져야 할텐데, 두번째 이미지와 같이 탭으로 인해 텍스트가 […]

The post Vim 붙여넣기 시 잘못된 탭 문자(Auto indent) 해결하기 appeared first on JooTC.

]]>
터미널상에서 Vim 에디터를 사용하여 코드를 편집할 때, 주로 외부에서 코드를 복사하여 붙여넣는 경우가 있습니다. 예를 들면 다음과 같은 코드를 어떤 웹사이트에서 복사하여 Vim에서 편집 중인 파일로 붙여넣으려고 합니다.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8"/>
    <title>GitHub</title>
    <!-- Bootstrap css -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
    <!-- Material icons -->
    <link href="https://fonts.googleapis.com/icon?family=Material+Icons"
      rel="stylesheet">
    <!-- Jquery -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

그런데 붙여넣은 텍스트의 탭 문자 상태가 기존의 모습과 달리 엉망진창으로 나타나는 것을 알 수 있습니다.

첫번째 이미지와 같이 가지런히 붙여넣어져야 할텐데, 두번째 이미지와 같이 탭으로 인해 텍스트가 밀려나가는 것을 확인할 수 있습니다.

해결 방법

이러한 현상은 무엇이며 어떻게 해결할 수 있을까요? 이 문제는 Vim 에디터에 Auto indent 설정으로 인해 발생하는 문제입니다. 붙여넣기 시 기존에 복사된 Tab 문자를 무시하고 자동으로 탭 문자를 넣어주기 때문입니다.

이 문제를 예방하는 가장 빠른 방법은, 붙여넣기 전 커맨드 모드(편집기에서 ESC 입력)에서 :set paste 를 입력하는겁니다. 이렇게하면 붙여넣기 모드가 시작되어 복사한 텍스트 그대로 붙여넣을 수 있게 됩니다. paste 옵션은 임시로 Auto indent를 사용하고 싶지 않을 때 유용합니다. 참고로 set 명령어는 Vim에디터 설정을 변경하는 명령입니다.

:set paste

또 다른 방법은 Auto indent 설정을 끄는 것입니다. 이 방법은 편집기를 열어두는 동안 옵션이 유지되기 때문에 붙여넣기를 지속적으로 해야할 때 유용하게 사용될 수 있습니다. (다만 그만큼 Auto indent가 꺼져있어 일반적인 코드 편집은 어려울 수 있습니다.)

이 또한 set 명령어를 사용합니다. ESC키로 커맨드 모드로 전환한 후 아래와 같이 입력하고 엔터로 명령을 실행합니다.

:set noautoindent

반대로 다시 Auto indent를 사용하고 싶다면 :set autoindent를 입력해주시면 됩니다. no가 앞에 붙으면 사용하지 않는다고 이해해주시면 되겠습니다.

Auto indent를 Vim을 열 때 마다 끈 상태로 유지하려면, 해당 사용자의 홈 디렉토리에 Vim 환경설정 파일(~/.vimrc)을 만들고 set noautoindent를 작성하고 저장해주시면 됩니다. 이렇게 되면 Vim이 열릴 때 마다 .vimrc 파일의 설정대로 Auto indent가 설정되지 않습니다.

The post Vim 붙여넣기 시 잘못된 탭 문자(Auto indent) 해결하기 appeared first on JooTC.

]]>
https://jootc.com/p/202101233691/feed 0 3691
마이크로소프트, 새로운 윈도우 터미널 앱 공개 https://jootc.com/p/201905122817 https://jootc.com/p/201905122817#respond Sun, 12 May 2019 06:38:15 +0000 https://blog.inidog.com/?p=2817 윈도우 10용 새로운 터미널 앱 공개 지난 5월 6일, 마이크로소프트(Microsoft)는 윈도우 10에 곧 등장할 예정인 새로운 터미널 소프트웨어(Windows Terminal)를 공개하였습니다. 윈도우 10에는 서드 파티 소프트웨어를 제외하고 그렇다 할만한 터미널 앱이 없었습니다. 기존의 명령 프롬프트나 Power Shell은 클래식 앱으로서 충분히 오래된 사용자 인터페이스였습니다. 개인적으로 유니버셜 앱 환경으로 Token2Shell과 비슷하다곤 생각했는데 이번 마이크로소프트의 공식적인 터미널 앱이 등장하게 […]

The post 마이크로소프트, 새로운 윈도우 터미널 앱 공개 appeared first on JooTC.

]]>
윈도우 10용 새로운 터미널 앱 공개

지난 5월 6일, 마이크로소프트(Microsoft)윈도우 10에 곧 등장할 예정인 새로운 터미널 소프트웨어(Windows Terminal)를 공개하였습니다.

윈도우 10에는 서드 파티 소프트웨어를 제외하고 그렇다 할만한 터미널 앱이 없었습니다. 기존의 명령 프롬프트Power Shell은 클래식 앱으로서 충분히 오래된 사용자 인터페이스였습니다.

개인적으로 유니버셜 앱 환경으로 Token2Shell과 비슷하다곤 생각했는데 이번 마이크로소프트의 공식적인 터미널 앱이 등장하게 되면서 앞으로 유니버셜 앱 환경의 터미널 앱을 사용하는 사람이 얼마나 늘어날지에 대해 기대가 되기도 합니다.

 

 

윈도우 터미널 앱에는 어떠한 기능이 탑재되었을까?

윈도우 터미널은 으로 이루어진 터미널 환경을 구성할 수 있습니다. 작업 특성상 여러개의 서버를 동시에 열어야 하는 경우 탭 환경의 인터페이스로 인해 효율적인 작업을 할 수 있을 것으로 기대됩니다. 다만 탭을 Split & Arrange 할 수 있지는 않아보이며 이는 추후 새로운 기능으로 추가 될 것으로 예상해봅니다.

윈도우 터미널은 GPU 가속 렌더징 엔진(DirectWrite/DirectX)을 사용하여 이모티콘, CJK(Chinese Japanese Korean)문자, 프로그래밍 문자 등의 어떠한 문자나 기호 더라도 빠르고 정확하게 표시해냅니다.

windows-terminal-app-menu
터미널 앱의 메뉴 화면 (출처 – devblogs.microsoft.com)

터미널 앱에는 기존의 명령 프롬프트나 PowerShell은 물론 Windows Subsystem for Linux (WSL으로 불림) 환경의 우분투/리눅스 터미널과 Azure, AWS와 같은 클라우드나 IoT, 호스팅 환경의 터미널을 SSH를 사용하여 접속할 수 있는 모든 구성 요소를 갖추고 있습니다.

 

windows-terminal-app-screenshot
터미널 앱을 사용하는 모습 (출처 – devblogs.microsoft.com)

아직은 최초 버전의 발표 소식 뿐이기 때문에 더 많은 기능의 추가 가능성에 대해서는 확정된 것이 없으며, 사용자 피드백을 받고 계획하는 단계라고 밝혔습니다.

또한 윈도우 터미널오픈소스로 공개되어 GitHub (https://github.com/Microsoft/Terminal)에 공개 된 코드를 사용, 수정, 배포할 수 있게 되었습니다.

 

윈도우 터미널 1.0은 2019년 여름 경 윈도우 스토어 (Microsoft Store)프리뷰 빌드가 공개 될 예정이며 2019년 겨울에 정식 출시 될 예정입니다.

자세한 소식은 다음 마이크로소프트 공식 개발자 블로그를 참고해주세요.

Introducing Windows Terminal

The post 마이크로소프트, 새로운 윈도우 터미널 앱 공개 appeared first on JooTC.

]]>
https://jootc.com/p/201905122817/feed 0 2817
macOS 14.10 Mojave 설치 ISO 생성 방법 (앱스토어 사용) https://jootc.com/p/201903012673 https://jootc.com/p/201903012673#comments Fri, 01 Mar 2019 14:16:53 +0000 https://blog.inidog.com/?p=2673 macOS에서 직접 macOS 14.10 Mojave의 ISO 설치 파일을 생성할 수 있습니다. 일반적으로 dmg나 app 파일로만 제공되는 설치 디스크를 사용하여 현재의 macOS를 초기화하거나, 업그레이드 할 수 있습니다. 그러나 이외에도 부팅 USB를 만든다던지 가상 머신에 설치해야 하는 상황이 올 수 있습니다. 여기서는 app 파일을 사용하여 VMware Fusion이나 VirtualBox, Parallels Desktop과 같은 가상 머신 소프트웨어에서 사용하기 위한 ISO […]

The post macOS 14.10 Mojave 설치 ISO 생성 방법 (앱스토어 사용) appeared first on JooTC.

]]>
macOS에서 직접 macOS 14.10 Mojave ISO 설치 파일을 생성할 수 있습니다.

일반적으로 dmgapp 파일로만 제공되는 설치 디스크를 사용하여 현재의 macOS를 초기화하거나, 업그레이드 할 수 있습니다. 그러나 이외에도 부팅 USB를 만든다던지 가상 머신에 설치해야 하는 상황이 올 수 있습니다.

여기서는 app 파일을 사용하여 VMware Fusion이나 VirtualBox, Parallels Desktop과 같은 가상 머신 소프트웨어에서 사용하기 위한 ISO 파일을 생성해보도록 하겠습니다.

 

 

macOS Mojave 설치용 앱 다운로드 받기


먼저 애플의 맥용 앱스토어에서 직접 macOS Mojave 설치 어플리케이션을 받아야 합니다. 사용하고 있는 macOS에서 앱스토어에 접속하겠습니다.

이후 검색 창에 ‘macOS Mohave’ 를 검색하면 다음과 같은 이 나올 것입니다. 클릭하여 자세한 페이지로 이동합니다. (다음 링크에 접속해서 진행하셔도 됩니다 : https://itunes.apple.com/kr/app/macos-mojave/id1398502828?mt=12)

macos-appstore-mojave-app

 

여기에서 받기(GET) 버튼을 클릭합니다. 이제 소프트웨어 업데이트 창이 나타나며 다운로드를 시작할 것입니다. (용량이 커서 시간이 소요됩니다.)

macos-appstore-mojave-app-2

 

다운로드가 완료되면 macOS 설치를 위한 앱이 실행 될 것입니다.

여기서는 이 앱을 사용하여 설치할 것이 아니므로 일단 앱을 종료해주겠습니다.

 

 

설치한 앱의 데이터를 사용하여 ISO로 변환하기


이제 이 앱의 데이터를 사용하여 ISO 파일로 추출해보도록 하겠습니다.

먼저 macOS의 터미널 앱을 열어야 합니다. 검색이나 LaunchPad 앱 등을 사용하여 터미널 앱을 실행해줍니다.

macos-sshd-server-configuration-6

실행해야 할 명령어가 많기 때문에 가능하면 셸 스크립트를 생성하여 진행하도록 하는 것이 좋습니다. 아래 명령어로 스크립트 파일을 생성해보겠습니다. (또한 아래 chmod 명령어와 같이 사용자에게 실행 권한을 주어야 스크립트가 원활하게 실행됩니다.)

$ cd /Users/mypc
$ touch macos_create_iso.sh
$ chmod 700 macos_create_iso.sh

 

다음으로 vi 또는 vim 등과 같은 터미널 텍스트 에디터를 사용하여 스크립트 파일을 편집해보도록 하겠습니다. (예 : vim macos_create_iso.sh)

파일이 열렸다면 다음 내용을 추가해줍니다.

hdiutil create -o /tmp/mojave.cdr -size 6g -layout SPUD -fs HFS+J
hdiutil attach /tmp/mojave.cdr.dmg -noverify -mountpoint /Volumes/install_mojave
sudo /Applications/Install\ macOS\ mojave.app/Contents/Resources/createinstallmedia --volume /Volumes/install_mojave
mv /tmp/mojave.cdr.dmg ~/Desktop/InstallSystem.dmg
hdiutil detach /Volumes/Install\ macOS\ mojave
hdiutil convert ~/Desktop/InstallSystem.dmg -format UDTO -o ~/Desktop/mojave.iso
mv ~/Desktop/mojave.iso.cdr ~/Desktop/mojave.iso
rm ~/Desktop/InstallSystem.dmg

 

파일을 저장하고 빠져나온 후, 아래 명령어로 스크립트를 실행해보겠습니다.

$ ./macos_create_iso.sh

 

만약 실행 중 암호를 묻는다면 사용자 암호를 입력해줍니다. 아래는 전체 과정입니다.

$ ./mojave_iso.sh
created: /tmp/mojave.cdr.dmg
/dev/disk3              Apple_partition_scheme
/dev/disk3s1            Apple_partition_map
/dev/disk3s2            Apple_HFS                          /Volumes/install_mojave
Password:
Ready to start.
To continue we need to erase the volume at /Volumes/install_mojave.
If you wish to continue type (Y) then press return: Y
Erasing disk: 0%... 10%... 20%... 30%... 100%
Copying to disk: 0%... 10%... 20%... 30%... 40%... 50%... 60%... 70%... 80%... 100%
Making disk bootable...
Copying boot files...
Install media now available at "/Volumes/Install macOS Mojave"
"disk3" ejected.
Driver Descriptor Map(DDM : 0) 읽는 중...
Apple(Apple_partition_map : 1) 읽는 중...
(Apple_Free : 2) 읽는 중...
disk image(Apple_HFS : 3) 읽는 중...
...........................................................................................................................................................
경과 시간: 13.862s
속도: 443.2Mbytes/초
저장: 0.0%
created: /Users/mypc/Desktop/mojave.iso.cdr

이후 어느정도 시간이 지나면 ISO 파일이 바탕화면에 생성 될 것입니다.

macos-mojave-iso-file

 

이제 이 파일을 가상 머신을 생성할 때, 또는 다른 목적으로 각각의 어플리케이션에서 사용할 수 있습니다.

기존에 설치한 어플리케이션은 삭제하셔도 좋습니다.

 

 

참고자료


The post macOS 14.10 Mojave 설치 ISO 생성 방법 (앱스토어 사용) appeared first on JooTC.

]]>
https://jootc.com/p/201903012673/feed 2 2673
macOS brew 설치 및 사용법 – Homebrew 패키지 관리자 정복하기 https://jootc.com/p/201812312462 https://jootc.com/p/201812312462#respond Mon, 31 Dec 2018 13:21:09 +0000 https://blog.inidog.com/?p=2462 macOS 홈브류(Homebrew)란? macOS는 유닉스 시스템에 기반한 운영체제입니다. 운영체제에 내장된 터미널에는 일반적으로 자주 쓰이는 배시 셸(Bash Shell) 명령어를 사용할 수 있도록 고안되어 있으며 이에 따라 리눅스 명령어로 파일 관리나 시스템 작업을 처리할 수 있습니다. macOS에서 응용 프로그램 패키지를 설치할 때는 애플 앱스토어나 웹 사이트에서 파일 다운로드를 진행하면 되지만, 기존의 리눅스에서 yum이나 apt와 같은 명령줄 인터페이스로 패키지를 macOS에도 […]

The post macOS brew 설치 및 사용법 – Homebrew 패키지 관리자 정복하기 appeared first on JooTC.

]]>
macOS 홈브류(Homebrew)란?

macOS는 유닉스 시스템에 기반한 운영체제입니다. 운영체제에 내장된 터미널에는 일반적으로 자주 쓰이는 배시 셸(Bash Shell) 명령어를 사용할 수 있도록 고안되어 있으며 이에 따라 리눅스 명령어로 파일 관리나 시스템 작업을 처리할 수 있습니다.

macOS에서 응용 프로그램 패키지를 설치할 때는 애플 앱스토어웹 사이트에서 파일 다운로드를 진행하면 되지만, 기존의 리눅스에서 yum이나 apt와 같은 명령줄 인터페이스로 패키지를 macOS에도 간편하게 설치할 수 있습니다.

 

macos-homebrew-logo

먼저 macOS에는 기본으로 탑재된 패키지 관리자가 없습니다. 때문에 홈브류(Homebrew)라는 별도의 패키지 관리자를 직접 설치해야 합니다. (참고로 MacPorts라는 패키지 관리자가 또 하나 있지만 개인적으로는 홈브류를 추천드리는 바입니다.)

Homebrew는 의존성 패키지를 체크하는 기능은 물론 빠른 설치와 삭제가 가능하여 개발자들에 의해 많이 쓰이는 패키지 관리자입니다. 오늘 포스팅에서는 홈브류를 설치하고 간단히 사용해보도록 하겠습니다.

 

 

macOS brew 설치 방법

홈브류를 설치하기 위해 macOS터미널 앱을 엽니다. (iTerm2 등을 사용해도 좋습니다.) 아래와 같이 검색 창으로 직접 입력하거나 Launchpad – 기타에 있는 ‘터미널’을 실행합니다.

macos-open-terminal-app

 

이제 공식 홈페이지에 설명되어있는 설치 명령을 입력해보겠습니다. 다음 명령어를 복사하여 터미널에 붙여넣고 엔터를 입력합니다.

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

이후 다음과 같이 진행될 것입니다.

==> This script will install:
/usr/local/bin/brew
/usr/local/share/doc/homebrew
/usr/local/share/man/man1/brew.1
/usr/local/share/zsh/site-functions/_brew
/usr/local/etc/bash_completion.d/brew
/usr/local/Homebrew
==> The following existing directories will be made group writable:
/usr/local/bin
/usr/local/share
/usr/local/share/man
/usr/local/share/man/man8
==> The following existing directories will have their owner set to user:
/usr/local/bin
/usr/local/share
/usr/local/share/man
/usr/local/share/man/man8
==> The following existing directories will have their group set to admin:
/usr/local/bin
/usr/local/share
/usr/local/share/man
/usr/local/share/man/man8
==> The following new directories will be created:
/usr/local/etc
/usr/local/include
/usr/local/lib
/usr/local/sbin
/usr/local/var
/usr/local/opt
/usr/local/share/zsh
/usr/local/share/zsh/site-functions
/usr/local/var/homebrew
/usr/local/var/homebrew/linked
/usr/local/Cellar
/usr/local/Caskroom
/usr/local/Homebrew
/usr/local/Frameworks
==> The Xcode Command Line Tools will be installed.
Press RETURN to continue or any other key to abort

여기까지 왔다면 엔터를 다시 입력하여 계속 진행합니다.

==> /usr/bin/sudo /bin/mkdir -p /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/sbin /usr/local/share /usr/local/var /usr/local/opt /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var/homebrew /usr/local/var/homebrew/linked /usr/local/Cellar /usr/local/Caskroom /usr/local/Homebrew /usr/local/Frameworks
Password:

여기에서는 시스템 관리자 권한을 얻기위해 관리자 권한이 있는 계정임을 확인하고 현재 계정 암호를 입력해줍니다. (sudo 암호 입력과 동일)

이제 본격적인 홈브류 설치가 진행될 것입니다. 잠시 기다려주겠습니다.

==> /usr/bin/sudo /bin/chmod g+rwx /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/sbin /usr/local/share /usr/local/var /usr/local/opt /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var/homebrew /usr/local/var/homebrew/linked /usr/local/Cellar /usr/local/Caskroom /usr/local/Homebrew /usr/local/Frameworks
==> /usr/bin/sudo /bin/chmod 755 /usr/local/share/zsh /usr/local/share/zsh/site-functions
==> /usr/bin/sudo /usr/sbin/chown lee /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/sbin /usr/local/share /usr/local/var /usr/local/opt /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var/homebrew /usr/local/var/homebrew/linked /usr/local/Cellar /usr/local/Caskroom /usr/local/Homebrew /usr/local/Frameworks
==> /usr/bin/sudo /usr/bin/chgrp admin /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/sbin /usr/local/share /usr/local/var /usr/local/opt /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var/homebrew /usr/local/var/homebrew/linked /usr/local/Cellar /usr/local/Caskroom /usr/local/Homebrew /usr/local/Frameworks
==> /usr/bin/sudo /bin/mkdir -p /Users/lee/Library/Caches/Homebrew
==> /usr/bin/sudo /bin/chmod g+rwx /Users/lee/Library/Caches/Homebrew
==> /usr/bin/sudo /usr/sbin/chown lee /Users/lee/Library/Caches/Homebrew
==> /usr/bin/sudo /bin/mkdir -p /Library/Caches/Homebrew
==> /usr/bin/sudo /bin/chmod g+rwx /Library/Caches/Homebrew
==> /usr/bin/sudo /usr/sbin/chown lee /Library/Caches/Homebrew
==> Searching online for the Command Line Tools
==> /usr/bin/sudo /usr/bin/touch /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
==> Installing Command Line Tools (macOS Mojave version 10.14) for Xcode-10.1
==> /usr/bin/sudo /usr/sbin/softwareupdate -i Command\ Line\ Tools\ (macOS\ Mojave\ version\ 10.14)\ for\ Xcode-10.1
Software Update Tool
Downloading Command Line Tools (macOS Mojave version 10.14) for Xcode
Downloaded Command Line Tools (macOS Mojave version 10.14) for Xcode
Installing Command Line Tools (macOS Mojave version 10.14) for Xcode
Done with Command Line Tools (macOS Mojave version 10.14) for Xcode
Done.
==> /usr/bin/sudo /bin/rm -f /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
==> /usr/bin/sudo /usr/bin/xcode-select --switch /Library/Developer/CommandLineTools
==> Downloading and installing Homebrew...
remote: Enumerating objects: 32, done.
remote: Counting objects: 100% (32/32), done.
remote: Compressing objects: 100% (28/28), done.
remote: Total 116175 (delta 8), reused 9 (delta 3), pack-reused 116143
Receiving objects: 100% (116175/116175), 27.36 MiB | 2.94 MiB/s, done.
Resolving deltas: 100% (84822/84822), done.
From https://github.com/Homebrew/brew
 * [new branch]          master     -> origin/master
 * [new tag]             0.1        -> 0.1
------------------------- 생략---------------
 * [new tag]             1.8.5      -> 1.8.5
 * [new tag]             1.8.6      -> 1.8.6
HEAD is now at 7246ed368 Merge pull request #5457 from MikeMcQuaid/remove-travis-ci
==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
  https://github.com/Homebrew/brew#donations
==> Tapping homebrew/core
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core'...
remote: Enumerating objects: 4892, done.
remote: Counting objects: 100% (4892/4892), done.
remote: Compressing objects: 100% (4696/4696), done.
remote: Total 4892 (delta 48), reused 303 (delta 4), pack-reused 0
Receiving objects: 100% (4892/4892), 4.02 MiB | 12.32 MiB/s, done.
Resolving deltas: 100% (48/48), done.
Checking out files: 100% (4909/4909), done.
Tapped 2 commands and 4676 formulae (4,934 files, 12.5MB).
==> Migrating /Library/Caches/Homebrew to /Users/lee/Library/Caches/Homebrew...
==> Deleting /Library/Caches/Homebrew...
Already up-to-date.
==> Installation successful!

==> Homebrew has enabled anonymous aggregate formulae and cask analytics.
Read the analytics documentation (and how to opt-out) here:
  https://docs.brew.sh/Analytics

==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
  https://github.com/Homebrew/brew#donations
==> Next steps:
- Run `brew help` to get started
- Further documentation: 
    https://docs.brew.sh

Installation successful! 이 나타났다면 설치가 완료된 것입니다.

 

 

brew 사용법 – 간단한 명령어를 통해 패키지 관리

홈브류를 설치하면 brew라는 명령어를 사용할 수 있게 됩니다. 이제 간단히 주요 명령어 몇가지를 살펴보겠습니다. (brew 명령어는 aptyum 패키지 관리자와 거의 비슷합니다.)

먼저 brew search 명령어를 사용하여 특정 패키지를 검색해보겠습니다. 예를 들어 vim 패키지를 검색하려면 다음과 같이 입력합니다.

mymacos:~ user$ brew search vim

아래와 같이 vim 검색어로 나타난 설치 가능한 패키지 이름들이 나타날 것입니다.

==> Formulae
avimetaedit     neovim          pyvim           [email protected]         vimpc
macvim          pacvim          vim             vimpager

 

다음으로 검색된 vim 패키지를 설치해보겠습니다. brew install 명령을 사용합니다.

mymacos:~ user$ brew install vim

여러 패키지를 설치하려면 다음과 같이 패키지 이름을 계속 나열하면 됩니다.

mymacos:~ user$ brew install vim python lrzsz

 

패키지를 설치하는 과정 중 패키지 저장소(리포지토리, Repository라고도 부름)에서 패키지 별로 최신 버전 정보를 받아와 설치를 하게 되는데, 만약 패키지 저장소의 정보가 오래되면 이를 최신 정보로 업데이트해야 할 수 있습니다. 이 때 사용하는 명령어는 brew update입니다. 이는 실제 패키지를 업데이트하는 것이 아니라 업데이트해야 할 내용들을 가져오고 갱신하기만 합니다.

mymacos:~ user$ brew update

특별한 값을 주지 않으면 전체 업데이트 패키지를 검색하고 아래와 같이 특정 패키지 이름을 포함하여 해당 패키지에 대해서만 검색할 수도 있습니다.

mymacos:~ user$ brew update vim

 

brew update의 결과에서 업데이트가 필요한 패키지가 표시되면 아래 사진에서 vim 패키지처럼 체크 표시가 나타날 것입니다.

macos-brew-update-command

 

이후 brew upgrade 명령어를 사용해보겠습니다. 업그레이드 명령을 사용하여 상단에 체크된 모든 패키지를 실제로 업데이트하는 과정을 진행합니다.

mymacos:~ user$ brew upgrade

마찬가지로 특정 패키지 이름이 포함되면 해당 패키지만 업데이트하게 됩니다.

mymacos:~ user$ brew upgrade vim

brew upgrade 명령을 사용하여 vim을 업데이트하는 중입니다. 업데이트가 완료되면 커맨드 프롬프트가 다시 나타날 것입니다.

mymacos:~ user$ brew upgrade
==> Upgrading 1 outdated package:
vim 8.1.0600_2 -> 8.1.0650
==> Upgrading vim
==> Downloading https://homebrew.bintray.com/bottles/vim-8.1.0650.mojave.bottle.
######################################################################## 100.0%
==> Pouring vim-8.1.0650.mojave.bottle.tar.gz
/usr/local/Cellar/vim/8.1.0650: 1,840 files, 30.8MB

mymacos:~ user$

 

이제 설치된 vim 패키지를 삭제해보겠습니다. 간단히 brew uninstall 명령어를 사용하면 됩니다.

mymacos:~ user$ brew uninstall vim

uninstall과 동일한 동작인 remove를 사용해도 됩니다.

mymacos:~ user$ brew remove vim

brew install과 마찬가지로 여러 패키지를 동시에 삭제할 수도 있습니다.

mymacos:~ user$ brew uninstall vim python lrzsz

만약 해당 패키지가 존재하지 않는다면 다음과 같이 에러가 나타날 것입니다.

Error: No such keg: /usr/local/Cellar/vim

아래와 같이 삭제 진행 상태가 출력되고 프롬프트가 다시 나타나면 정상적으로 삭제된 것입니다.

Uninstalling /usr/local/Cellar/vim/8.1.0650... (1,840 files, 30.8MB)
mymacos:~ user$

 

 

지금까지 자주 사용하는 brew 명령어를 살펴보았습니다. 앞으로 개발에 있어서 쉽고 유용하게 사용할 수 있도록 필히 패키지 관리자에 익숙해지셨으면 하는 바램입니다.

읽어주셔서 감사합니다.

The post macOS brew 설치 및 사용법 – Homebrew 패키지 관리자 정복하기 appeared first on JooTC.

]]>
https://jootc.com/p/201812312462/feed 0 2462
Xshell 사용법 – 프로그램 기본 사용 및 SSH 세션 접속 https://jootc.com/p/201812152366 https://jootc.com/p/201812152366#comments Sat, 15 Dec 2018 13:48:42 +0000 https://blog.inidog.com/?p=2366 Xshell이란? 넷사랑컴퓨터의 Xshell은 TELNET/SSH 프로토콜로 리눅스 원격 호스트에 접속할 수 있는 윈도우용 터미널 에뮬레이터입니다. 국내 기업에서 개발된 프로그램으로 제품 한글화는 물론이고 SSH 접속 시 유니코드(UTF-8) 지원으로 한글로 설정된 리눅스에도 문제없이 접속할 수 있습니다. 인지하기 쉬운 인터페이스에 터미널을 사용하면서 유용할만한 부가적인 기능들이 많이 있어서 PuTTY 대체 프로그램으로도 적합합니다. 대표적인 기능들을 몇가지 적어보자면 다음과 같습니다. SSH1, SSH2, […]

The post Xshell 사용법 – 프로그램 기본 사용 및 SSH 세션 접속 appeared first on JooTC.

]]>
xshell-main-screenshot-181215

Xshell이란?

넷사랑컴퓨터XshellTELNET/SSH 프로토콜로 리눅스 원격 호스트에 접속할 수 있는 윈도우용 터미널 에뮬레이터입니다. 국내 기업에서 개발된 프로그램으로 제품 한글화는 물론이고 SSH 접속 시 유니코드(UTF-8) 지원으로 한글로 설정된 리눅스에도 문제없이 접속할 수 있습니다.

인지하기 쉬운 인터페이스에 터미널을 사용하면서 유용할만한 부가적인 기능들이 많이 있어서 PuTTY 대체 프로그램으로도 적합합니다. 대표적인 기능들을 몇가지 적어보자면 다음과 같습니다.

  • SSH1, SSH2, TELNET, RLOGIN, SERIAL, FTP, SFTP 터미널 연결 지원
  • SSH의 다양한 사용자 인증 지원 (Public Key / Keyboard interactive / GSSAPI / PKCS#11)
  • 접속 기록을 세션 파일로 저장하여 다중 파일 관리
  • XModem/YModem/ZModem 지원
  • 스크립팅 지원 (JavaScript/VBScript/Python)
  • 여러 세션에 동시 문자열 보내기 / Global Input
  • 탈착이 가능한 탭 기반의 인터페이스
  • 터널링 및 프록시 기능
  • X11 포워딩 (Xmanager 사용 시) 기능
  • 넷사랑컴퓨터 제품(Xmanager, Xftp)과의 빠른 연동
  • 터미널 키 매핑 / 프로그램 키 매핑 기능
  • 터미널 하이라이트 (특정 키워드에 서식 적용)
xshell-6-logo-2018

Xshell은 개인이나 학생 사용자에게는 무료로 사용할 수 있는 라이선스가 제공됩니다. 기업에서 사용 시에는 사용자 당 라이선스 구매가 필요합니다. 제품 다운로드 관련 포스트는 하단을 참고해주세요.

Xshell 실행하기

기본적인 툴 사용법에 초점을 맞추어 SSH 세션에 접속하는 다양한 방법들을 알아보도록 하겠습니다.

시작하기 전에SSH 프로토콜로 원격 리눅스 세션에 접속하기 위해서는 먼저 접속할 원격 호스트에서 SSH 서버가 구동되고 있어야 합니다. 자세한 내용은 하단의 포스트를 참고해보세요.

이 포스트에서는 원격 서버의 구성이 모두 완료되었다고 가정합니다. 이제 Xshell 프로그램을 실행해보겠습니다.

Xshell 첫 실행 시에는 다음 창이 나타납니다. 세션 파일이나 호스트 키 등의 설정 정보를 저장할 위치를 지정하는 옵션입니다.

  • 기본 데이터 폴더 경로 : C:\Users\[사용자명]\Documents\NetSarang Computer\6

가능하면 기본 값으로 설정해주시고 하단의 ‘확인’을 클릭하여 계속 진행할 수 있습니다.

xshell-common-data-folder-path

이제 Xshell 창이 열리는데요. 일반적인 인터페이스는 아래와 같으며 크게 세가지 영역이 보일 것입니다.

xshell-6-interface

표준화된 이름은 아니지만 부르기 편하게 다음과 같이 패널을 나누어보았습니다. 각 패널 및 영역의 역할은 다음과 같습니다.

  • 도구 모음 패널 : Xshell의 옵션이나 세션 설정, 보기 설정 등의 다양한 도구 모음
  • 세션 관리 패널 : Xshell의 세션 리스트를 한 눈에 볼 수 있는 패널
  • 터미널 영역 : SSH 또는 TELNET 등의 프로토콜 연결 시 나타날 터미널 부분

처음 사용 시 기능이 많고 메뉴나 옵션이 많아 적응하기 어려워보일 수도 있지만, 일단 세션에 연결하고 필요할 때 하나하나 사용해본다면 금방 익숙해지게 될 것입니다.

Xshell 사용법 간단하게 살펴보기

Xshell은 탭 기반으로 구성된 인터페이스이며 각 탭에서는 SSHTELNET 등의 ‘세션’이 하나씩 열리게 됩니다. 세션이 열리지 않은 상태에서는 ‘로컬 셸’ 상태가 되며 여기서는 윈도우의 명령 프롬프트에서 사용되는 기본 명령어들을 사용할 수 있습니다. (예를 들면 ipconfignetstat 등의 CMD 명령어가 있습니다.)

이외에도 Xshell의 몇가지 로컬 셸 명령어가 있습니다. 버전 6 기준 로컬 셸 명령어는 다음을 참고해보세요. (로컬 셸에서 ‘help‘ 를 입력하면 자세히 알 수 있습니다.)

명령어설명사용 예
new새 세션을 생성하기 위해 '새로 만들기' 창이 열린다.new
open만들어진 세션에 연결하기 위해 '세션' 창이 열린다.
- open : '세션' 창 열기
- open [session] : 세션 파일 열기
open C:\SESSION\PATH\mysession
open mysession
edit현재 탭의 세션 등록 정보가 열린다.
세션에 연결되지 않았다면 기본 세션의 등록 정보가 열린다.
- edit : 현재 탭의 '등록 정보' 창 열기
- edit [session] : 지정한 세션의 '등록 정보' 창 열기
edit
edit C:\SESSION\PATH\mysession
list폴더 내 세션 등의 전체 목록을 보여준다.
파라미터 값은 다음과 같다.
- session : 현재 경로의 세션 목록
- option : Xshell 옵션 목록
- hostkey : 호스트 키 목록
- userkey : 사용자 키 목록
list
list session
cd현재 폴더에서 다른 폴더로 이동한다.
홈 디렉토리(~) 입력 시 기본 세션 경로로 이동한다.
cd
cd c:\Windows
cd ~
pwd현재 폴더의 위치를 출력한다.pwd
setXshell의 기타 옵션을 확인하고 변경한다.
set 만 입력했을 경우 전체 옵션을 보여준다.
set a=b 일 때 a의 값을 b 로 변경한다.
set
set AutoSaveHostKey=1
clearclear 만 입력했을 경우 터미널 화면을 지운다.
- screen : 터미널 화면 지우기
- address : 주소표시줄 입력 히스토리 지우기
- history : 로컬 셸 명령줄 히스토리 지우기
clear
clear history
help / ?Xshell 도움말을 띄운다.
help 뒤에 인자가 있으면 관련 도움말을 나타낸다.
(대문자 HELP는 cmd 도움말을 띄운다.)
?
help
help edit
quit / exit로컬 셸 상태에서 탭을 닫거나 프로그램에서 빠져나온다.exit
quit
sshSSH 프로토콜에 접속한다.
상세 내용은 help ssh로 확인 가능.
ssh [-p ][-a ][user:pass@]host[ port][;host[ port]]
ssh user@host
ssh user:passwd@host
ssh host
telnetTELNET 프로토콜에 접속한다.
상세 내용은 help telnet으로 확인 가능.
telnet [user@]host [port]
telnet user@host
telnet user:passwd@host
telnet host
rloginRLOGIN 프로토콜에 접속한다.
상세 내용은 help rlogin으로 확인 가능.
rlogin [user@]host [port]
rlogin user@host
rlogin user:passwd@host
rlogin host
sftpSFTP 프로토콜에 접속한다.
상세 내용은 help sftp으로 확인 가능.
sftp [user:pass@]host [port]
sftp user@host
sftp user:passwd@host
sftp host
ftpFTP 프로토콜에 접속한다.
상세 내용은 help rlogin으로 확인 가능.
sftp [user@]host [port]
ftp user@host
ftp user:passwd@host
ftp host
disconnect세션에 연결 중일 때 연결을 종료시킨다.
(대부분 이는 명령어보다 버튼 동작으로 종료하게된다.)
disconnect
reconnect연결이 끊긴 현재 탭에 기존 연결 정보로 다시 연결을 시도한다.reconnect

이번에는 간단히 프로그램을 살펴보도록 하겠습니다.

상단 도구 모음 패널에서 각 메뉴를 클릭하여 원하는 기능을 사용할 수 있습니다. 예를 들어 새로운 세션을 만드려면 [파일] 메뉴에서 [새로 만들기]를 클릭하면 됩니다.

xshell-click-the-menu

Xshell 6에는 아래와 같이 탈착이 가능한 도구가 있습니다. 이는 상단 메뉴에서 [보기]를 클릭하면 나타납니다.

xshell-detach-toolbar

각 도구의 상단 제목을 잡고 드래그하여 분리하고 다른 도구와 병합하여 원하는 대로 레이아웃을 구성할 수 있습니다. 분리 가능한 여러 도구들을 정리하면 다음과 같습니다.

  • 세션 관리 창 : 세션 목록을 폴더별로 정리하거나 바로 연결
  • 작성 바 / 작성 창 : 현재 탭이나 여러 탭으로 문자열을 보낼 수 있는 영역
  • 빠른 명령 바 / 빠른 명령 창 : 사용자 지정 명령이나 바로가기를 모아볼 수 있는 패널

필요에 따라 도구가 필요없다면 숨길 수도 있습니다. 또는 Alt+S 키를 눌러 XshellPuTTY 창처럼 간단하게 표시할 수 있습니다.

xshell-simple-window-mode

이런식으로 구성된 레이아웃을 필요할 때 마다 바꿔가고 싶은 경우, 상단 [보기] – [레이아웃] 메뉴에서 현재 레이아웃 위치와 배치 상태를 저장할 수 있습니다.

xshell-layout-save

Xshell의 ‘탭’ 또한 여러개 열어서 배치하고 구성할 수 있습니다.

하나의 경계선 내에 존재하는 ‘탭’들은 하나의 ‘탭 그룹’으로 불리며 탭 그룹 내에서는 탭 앞에 있는 번호(1, 2, 3…)를 참고하여 Alt+1, Alt+2, Alt+3 키를 눌러 빠른 탭 전환이 가능합니다. Ctrl+Shift+TAB 키(다음 탭 전환)와 Ctrl+TAB 키(다음 탭 그룹 전환)를 사용해도 좋습니다.

탭을 옮기려면 탭 부분에서 마우스를 잡고 원하는 위치로 드래그하여 놓으면 됩니다. 아래 사진과 같이 4방향으로 배치가 가능합니다.

xshell-tab-alignment

그저 원버튼으로 빠르게 배치하고자 할 경우, 상단의 [탭] – [정렬] 메뉴를 사용하여 한 번에 배치할 수도 있습니다.

xshell-tab-alignment2

터미널을 큰 화면으로 보고 싶은 경우 전체 화면 기능을 사용하여 터미널 화면만 크게 보이게 할 수 있습니다.

xshell-fullscreen-button

여기서 전체 화면 형식은 두 가지가 있는데, 각각의 의미는 다음과 같습니다.

  • 전체 화면 : 현재 활성화된 탭 하나만 전체화면으로 전환
  • 다중 창 전체 화면 : 현재 보이는 탭 모두를 전체화면으로 전환

다중 창 전체화면을 선택하면 아래와 같이 보이는 탭 그룹을 모두 전체화면에서 보여줍니다.

xshell-fullscreen-mode

Xshell로 SSH 세션 연결하기

이제 본격적으로 SSH 세션에 연결해보도록 하겠습니다. Xshell에서 SSH 세션에 연결하는 방법은 아래와 같이 여러 수단이 있습니다. 하나하나 알아보도록 하겠습니다.

터미널 영역의 로컬 셸에서 연결하기

로컬 셸에서 간단히 접속 정보를 입력하여 연결할 수 있습니다. 상단의 ‘로컬 셸 명령어’ 항목을 참고하여 프로토콜과 각 연결 정보를 입력하여 접속을 시도합니다.

xshell-connect-from-terminal
  • 예시 1 : ssh myhost (‘myhost’ 호스트에 SSH 접속 시도)
  • 예시 2 : ssh user@myhost (‘myhost’ 호스트에 ‘user’ 사용자로 SSH 접속 시도)
  • 예시 3 : telnet user:passwd@myhost (‘myhost’ 호스트에 ‘user’ 사용자 ‘passwd’ 패스워드로 TELNET 접속 시도)

주소 표시줄에서 연결하기

이번에는 상단에 주소 표시줄에서 연결해보겠습니다. 연결 방법은 위 터미널 연결 시와 동일합니다. 다만 이번에는 프로토콜을 입력할 때 ssh:// 나 telnet:// 과 같이 입력해야 합니다.

xshell-connect-from-address-bar
  • 예시 1 : ssh://myhost (‘myhost’ 호스트에 SSH 접속 시도)
  • 예시 2 : telnet://[email protected] (‘192.168.1.123’ 호스트에 ‘user’ 사용자로 TELNET 접속 시도)

세션 파일로 연결하기

본격적으로 Xshell의 사용 목적이기도 한 세션 파일을 생성해보도록 하겠습니다. 세션 파일을 만들면 추후 똑같은 정보를 반복해서 입력할 필요가 없어집니다. 세션은 쉽게 말해 접속 정보와 연결 방법, 보기 방식에 대한 여러가지 설정 내용이 담긴 파일이며 .xsh 형식의 확장자로 저장됩니다.

먼저 [파일] – [새로 만들기] 메뉴를 클릭합니다. 그러면 새 세션 파일에 대한 등록 정보 창이 열립니다.

xshell-create-new-session

이제 각 범주에서 세션의 연결 정보를 편집해야 합니다. 간단한 연결만 할 것이므로 주요 필수 정보만 입력해보겠습니다.

먼저 [연결] 범주의 [일반] 그룹에서는 세션 파일의 이름이나 연결 정보를 편집할 수 있습니다.

xshell-new-session-1
  • 이름 (필수) : 세션 파일의 이름 설정
  • 프로토콜 (필수) : 접속할 방법(프로토콜) 선택
  • 호스트 (필수) : 접속할 호스트의 주소 입력
  • 포트 번호 (필수) : 접속할 호스트의 포트 번호 입력
  • 설명 : 세션에 대한 간단한 설명을 입력

[사용자 인증] 범주로 넘어가서 연결을 위한 사용자 인증 정보를 입력해줍니다.

참고: 연결 시 자동으로 사용자 인증을 진행하므로 이 항목을 비워두어도 좋습니다. 또한 보안상 암호는 저장하지 않는 것을 권장합니다.

xshell-new-session-2
  • 사용자 이름 : 접속할 호스트의 사용자 이름 입력
  • 암호 : 접속할 호스트의 암호 입력

일단 이렇게 하면 기본 연결을 위한 설정은 완료됩니다. 이제 창 하단에 있는 ‘확인’ 또는 ‘연결’ 버튼을 클릭합니다. (‘연결’을 클릭하면 세션 파일을 저장한 후 즉시 연결을 시도하게 됩니다.)

xshell-connect-button

세션에 연결하면 먼저 호스트 키를 체크합니다. 현재 Xshell에 저장된 호스트 키가 없을 경우 아래와 같이 묻게 됩니다. 호스트 키는 접속하려는 서버가 올바른 행선지인지 확인하기 위한 과정입니다. 따라서 호스트 키의 손도장 해시값(MD5 Hash) 등의 정보를 확인하여 실제 서버와 비교해보는 것도 좋습니다.

xshell-host-key-check-dialog

이상이 없다면 ‘수락 및 저장’을 클릭하여 이후에 호스트 키가 변동될 때 까지 묻지 않도록 합니다.

이제 세션에 성공적으로 연결되었습니다.

xshell-ssh-session-connected

마치며

이렇게 Xshell의 일반적인 기능들을 살펴보았습니다. 터미널 환경에서 작업을 진행해가면서 터널링, 포워딩, 터미널 하이라이트, 검색 기능과 같은 Xshell만의 다양한 기능을 사용할 수 있을 것입니다. 이러한 기능들은 추후 포스트에서 다루어보도록 하겠습니다.

프로그램에 조금씩 익숙해져가면서 유용한 기능과 많이 접해보셨으면 합니다. 읽어주셔서 감사합니다.

The post Xshell 사용법 – 프로그램 기본 사용 및 SSH 세션 접속 appeared first on JooTC.

]]>
https://jootc.com/p/201812152366/feed 2 2366
macOS SSH 서버(sshd)를 사용하여 원격에서 터미널 접속하기 https://jootc.com/p/201810122013 https://jootc.com/p/201810122013#respond Fri, 12 Oct 2018 01:10:40 +0000 https://blog.inidog.com/?p=2013 macOS는 유닉스 기반의 운영체제입니다. 따라서 리눅스에서 볼 수 있었던 터미널 환경이나 관련 프로토콜을 즉시 사용할 수 있는 장점이 있습니다. 그렇지만 일반적으로 사용되는 리눅스 명령어와는 다른 부분이 있기 때문에 리눅스에서 설정했던 SSHD 서버 구동을 그대로 따라하다가는 오류가 발생할 수 있습니다. 이 포스트에서는 간단하게 SSH 서버를 활성화 할 수 있는 방법을 알려드리겠습니다.     macOS SSH 서버 […]

The post macOS SSH 서버(sshd)를 사용하여 원격에서 터미널 접속하기 appeared first on JooTC.

]]>
macos-sshd-server-card

macOS는 유닉스 기반의 운영체제입니다. 따라서 리눅스에서 볼 수 있었던 터미널 환경이나 관련 프로토콜을 즉시 사용할 수 있는 장점이 있습니다.

그렇지만 일반적으로 사용되는 리눅스 명령어와는 다른 부분이 있기 때문에 리눅스에서 설정했던 SSHD 서버 구동을 그대로 따라하다가는 오류가 발생할 수 있습니다.

이 포스트에서는 간단하게 SSH 서버를 활성화 할 수 있는 방법을 알려드리겠습니다.

 

 

macOS SSH 서버 구동하기


먼저 시스템 환경 설정을 열어야 합니다. 좌측 상단의 애플 로고를 클릭한 다음 ‘시스템 환경설정…’을 클릭합니다.

macos-sshd-server-configuration-1

 

이후 다양한 설정 중에 ‘공유’ 항목을 클릭합니다

macos-sshd-server-configuration-2

 

공유 항목의 좌측 선택지에서 ‘원격 로그인’ 항목을 찾아 체크합니다. 이후 우측의 원격 로그인이 ‘켬’ 으로 표시되어야 합니다.

macos-sshd-server-configuration-3

방화벽 설정에 대해서는 위 옵션 체크 시 자동으로 추가될 것이므로 따로 설정할 내용은 없습니다.

이렇게 하면 일단 관리자 권한을 가진 계정만 로그인이 가능합니다. 만약 특정 사용자에게 접속 권한을 부여하고자 할 경우, ‘다음 사용자의 접근을 허용:’ 란에서 ‘모든 사용자’를 선택해주어야 합니다. 또는 아래와 같이 특정 사용자만 허가할 수도 있습니다.

하단의 ‘+’ 버튼을 클릭합니다.

macos-sshd-server-configuration-4

 

원하는 사용자를 선택한 후 ‘선택’을 클릭합니다.

macos-sshd-server-configuration-5

 

이제 활성화가 완료되었습니다. 그러나 아직 한 가지 확인 작업이 더 필요합니다.

외부에서 이 PC(macOS)에 접속하기 위해서는 일련의 네트워크 주소(IP)가 필요합니다. 이제 이 PC의 호스트 주소를 확인해보겠습니다.

독(Dock)에서 런치패드(LaunchPad)를 열어줍니다. 이후 터미널을 검색하여 터미널 앱을 실행합니다.

macos-sshd-server-configuration-6

 

터미널이 열리면 ifconfig 명령어를 입력합니다. 이후 en0 항목의 inet접속할 호스트의 IP 주소가 나타날 것입니다. (네트워크 환경에 따라 장치명이 다를 수 있음)

외부에서 접속할 때 이 주소를 입력할 것입니다.

macos-sshd-server-configuration-7
ifconfig 명령어로 현재 내 아이피를 확인

 

 

터미널 클라이언트를 사용하여 SSH 접속하기


이제 원격지에서 터미널 클라이언트를 사용하여 macOS의 터미널로 접속해보겠습니다.

 

원격지의 운영체제의 종류에 따라서 터미널 클라이언트가 달라질 수 있습니다. 예를 들어 리눅스 또는 macOS의 경우 기본 터미널 클라이언트가 제공됩니다.

일반적인 경우 터미널을 열고 단순히 아래 명령어로 원하는 서버에 접속할 수 있습니다.

$ ssh [username]@[hostname]

만약 호스트 주소가 myhost이고 사용자 이름이 user인 경우 아래와 같이 사용됩니다. (상단에서 확인한 IP 주소myhost 부분에 입력하면 됩니다.)

[user@localhost ~]$ ssh user@myhost

 

윈도우에서 macOS로 SSH 접속을 하려면 터미널 클라이언트 프로그램을 설치해야 합니다. 단, 윈도우 1803 버전 (RS4) 부터 명령 프롬프트에 SSH 명령어가 포함되어 있으므로 최신 버전의 윈도우를 사용 중이라면 위 방법으로도 접속이 가능합니다.

윈도우 10의 명령 프롬프트에서 SSH 명령어를 실행할 수 있다.

 

윈도우의 대표적인 SSH 클라이언트 PuTTY, Xshell, SecureCRT 등이 있습니다. 여기서는 Xshell을 사용하여 접속해보겠습니다.

 

Xshell을 실행한 후 하단의 명령어를 로컬 셸에 입력하여 접속을 시도할 수 있습니다.

[C:\~]$ ssh user@myhost

 

 

Xshell은 또한 각 세션에 대한 개별 파일을 만들어서 관리할 수 있습니다. 세션 파일을 만들어 명령어를 입력하는 과정을 축소할 수 있습니다.

상단 메뉴에서 ‘파일’ 을 선택한 후 ‘새로 만들기’를 클릭합니다.

xshell_connect_macos_server_1

 

이제 이 세션의 정보를 편집하는 창이 열릴 것입니다. 파일명호스트 주소 (상단의 IP)를 입력한 후, 하단의 ‘연결’을 클릭하면 파일이 저장되면서 세션에 연결될 것입니다.

xshell_connect_macos_server_2

 

사용자 이름암호를 입력한 후에 macOS 서버에 접속될 것입니다.

xshell-connect-macos-ssh-server

 

The post macOS SSH 서버(sshd)를 사용하여 원격에서 터미널 접속하기 appeared first on JooTC.

]]>
https://jootc.com/p/201810122013/feed 0 2013
PuTTY 다운로드 링크 및 설치 방법 알아보기 https://jootc.com/p/201809291896 https://jootc.com/p/201809291896#comments Sat, 29 Sep 2018 09:32:38 +0000 https://blog.inidog.com/?p=1896 PuTTY – SSH/TELNET 클라이언트 PuTTY는 Simon Tatham이 개발한 오픈소스 터미널 에뮬레이터입니다. (퍼티, 푸티라고 부르기도 합니다.)   PuTTY는 SSH, TELNET, RLOGIN, SERIAL 연결을 지원하며 터미널 클라이언트라고 부를 만한 기본적인 기능은 대부분 탑재되어있고 가볍다는 장점이 있어 리눅스 원격 접속으로 공부하려는 입문자에게 유용한 프로그램일 것입니다. SSH 프로토콜에 대해서는 아래 포스트가 도움이 될 것 같습니다.     PuTTY 다운로드 링크 […]

The post PuTTY 다운로드 링크 및 설치 방법 알아보기 appeared first on JooTC.

]]>
PuTTY – SSH/TELNET 클라이언트

PuTTYSimon Tatham이 개발한 오픈소스 터미널 에뮬레이터입니다. (퍼티, 푸티라고 부르기도 합니다.)

putty-program-image

 

PuTTYSSH, TELNET, RLOGIN, SERIAL 연결을 지원하며 터미널 클라이언트라고 부를 만한 기본적인 기능은 대부분 탑재되어있고 가볍다는 장점이 있어 리눅스 원격 접속으로 공부하려는 입문자에게 유용한 프로그램일 것입니다.

SSH 프로토콜에 대해서는 아래 포스트가 도움이 될 것 같습니다.

SSH란 무엇이고 왜 사용하나요? Telnet과의 차이점은요?

 

 

PuTTY 다운로드 링크


PuTTY는 다음 링크에서 다운로드 받을 수 있습니다. 두 번째 링크는 다운로드 페이지로 바로 이동합니다.

 

putty-download-link

다운로드 페이지에는 두 가지 다운로드 방식이 존재합니다. PuTTY를 포함한 다양한 유틸리티를 받고 싶다면 Package files 항목의 .msi 인스톨러 파일을 받으시고, 그저 PuTTY만 사용하려면 Alternative binary files 항목 putty.exe 파일을 다운로드 받으면 됩니다.

  • Package files : PuTTY를 포함한 각종 원격접속 유틸리티를 인스톨러 단일 파일로 제공
  • Alternative binary files : PuTTY, PSCP, Pageant, PuTTYgen 등의 파일을 따로 다운로드

 

 

PuTTY 설치 (인스톨러)


Alternative binary files 항목에서 다운로드 받았다면 별도의 설치과정 없이 다운로드 받은 파일을 실행해주면 됩니다.

 

만약 .msi 인스톨러를 다운로드 받은 경우 아래 설치 과정을 진행해야 합니다. msi 파일을 클릭하여 실행해주세요.

putty-installation-1

사실 인스톨 과정은 크게 어렵지 않습니다. 하단의 설치 과정을 따라해주세요.

 

  1. Next 선택

    putty-installation-2

  2. 설치 경로 (권장 : 기본값) 선택 후 Next 선택

    putty-installation-3

  3. 부가 설정 완료 후 (권장 : 기본값) Install 클릭 (바탕화면에 바로가기를 추가하려면 Add shortcut to PuTTY on the Desktop을 활성화시키기)

    putty-installation-4

  4. 설치 완료. Finish 클릭

    putty-installation-5

 

The post PuTTY 다운로드 링크 및 설치 방법 알아보기 appeared first on JooTC.

]]>
https://jootc.com/p/201809291896/feed 1 1896
WARNING: UNPROTECTED PRIVATE KEY FILE! 문제 해결 https://jootc.com/p/201809271876 https://jootc.com/p/201809271876#respond Thu, 27 Sep 2018 09:29:34 +0000 https://blog.inidog.com/?p=1876 WARNING: UNPROTECTED PRIVATE KEY FILE! 문제 서버-서버 간의 SSH 접속을 위해 다음 명령어를 사용하여 접속을 시도하게 됩니다. [user@localhost ~]$ ssh [email protected].##.11 -i /home/user/myprivatekey   여기서 myprivatekey 라는 파일명의 개인 키로 접속할 서버에 대해 공개 키 인증을 시도할 때 다음 에러 메세지가 발생하면서 인증 시도에 실패하는 문제가 나타날 수 있습니다. The authenticity of host '[192.168.###.10]:22 ([192.168.###.11]:22)' can't […]

The post WARNING: UNPROTECTED PRIVATE KEY FILE! 문제 해결 appeared first on JooTC.

]]>
WARNING: UNPROTECTED PRIVATE KEY FILE! 문제

서버-서버 간의 SSH 접속을 위해 다음 명령어를 사용하여 접속을 시도하게 됩니다.

[user@localhost ~]$ ssh [email protected].##.11 -i /home/user/myprivatekey

 

여기서 myprivatekey 라는 파일명의 개인 키접속할 서버에 대해 공개 키 인증을 시도할 때 다음 에러 메세지가 발생하면서 인증 시도에 실패하는 문제가 나타날 수 있습니다.

The authenticity of host '[192.168.###.10]:22 ([192.168.###.11]:22)' can't be established.
ECDSA key fingerprint is SHA256:wqbG1vk2nvoxjztuiajvDnmwq/vs/bJNFmwnaxf2VXY.
ECDSA key fingerprint is MD5:5f:5b:00:00:00:30:d1:1e:00:00:00:00:00:00:00:00.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[192.168.###.11]:22' (ECDSA) to the list of known hosts.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0744 for '/home/user/myprivatekey' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/home/user/myprivatekey": bad permissions
Permission denied (publickey).

192.168.###.10 서버에서 192.168.###.11 서버로 접속하면서 /home/user/ 디렉토리에 있는 myprivatekey 파일을 참조하려 했습니다.

여기서 myprivatekey 파일은 OpenSSH 형식의 개인 키(Private Key) 파일이며 파일 자체에는 별다른 문제가 없습니다.

그러나 OpenSSH 클라이언트‘보호되지 않은 개인 키 파일’ 이라는 오류를 출력하게 되었는데요.

 

문제 원인과 해결 방법


이 문제는 다름아닌 개인 키 파일의 권한에 대한 잘못된 설정으로 발생하는 경고이자 오류 메세지입니다.

위 에러에서 확인 되는 myprivatekey 파일의 권한은 744(rwxr--r--)이며 이는 파일의 소유자 외에 그룹과 기타 사용자에게 읽기 권한을 부여한다는 것입니다. 이렇게 되면 보안 문제가 발생할 수 있으므로 소유자가 아니면 읽지도 쓰지도 못하도록 권한을 변경해주어야 합니다.

 

다음과 같이 chmod 명령어를 실행하여 myprivatekey 파일의 권한을 700(rwx------) 또는 600(rw-------)으로 변경해줍니다. 600으로 변경해도 인증에 큰 지장이 없으므로 가능하면 권한을 최소한으로 설정합니다.

[user@localhost ~]$ chmod 600 myprivatekey

 

이제 상단의 SSH 접속 명령어를 다시 사용하여 인증을 다시 시도합니다. 더 이상 보호되지 않은 키 파일 경고 메세지가 발생하지 않을 것입니다.

 

The post WARNING: UNPROTECTED PRIVATE KEY FILE! 문제 해결 appeared first on JooTC.

]]>
https://jootc.com/p/201809271876/feed 0 1876
SSH 터미널에 접속할 때 배너 메세지(Banner) 보여주기 https://jootc.com/p/201809221855 https://jootc.com/p/201809221855#respond Sat, 22 Sep 2018 08:13:48 +0000 https://blog.inidog.com/?p=1855 SSH 배너 메세지 설정하기 SSH 프로토콜을 사용하여 터미널에 접속할 때 배너 메세지를 나타나도록 설정할 수 있습니다. 배너 메세지는 서버의 간략한 정보나 접속하는 관리자에게 전할 메모와 같은 역할을 합니다. 원격지에서 터미널에 로그인할 때 표시됨 로컬호스트에서 접속한 터미널이거나 유저 간의 전환 시에는 나타나지 않음   배너 메세지는 사용자가 원하는 텍스트로 설정할 수 있습니다. 먼저 로그인 시에 표시 할 […]

The post SSH 터미널에 접속할 때 배너 메세지(Banner) 보여주기 appeared first on JooTC.

]]>
ssh-banner-message

SSH 배너 메세지 설정하기


SSH 프로토콜을 사용하여 터미널에 접속할 때 배너 메세지를 나타나도록 설정할 수 있습니다. 배너 메세지는 서버의 간략한 정보나 접속하는 관리자에게 전할 메모와 같은 역할을 합니다.

  • 원격지에서 터미널에 로그인할 때 표시됨
  • 로컬호스트에서 접속한 터미널이거나 유저 간의 전환 시에는 나타나지 않음

 

배너 메세지는 사용자가 원하는 텍스트로 설정할 수 있습니다.

먼저 로그인 시에 표시 할 배너 파일을 작성하기 위해 /etc 디렉토리 위치에 원하는 파일 이름으로 생성합니다. (root 권한으로 진행합니다.)

 

여기서는 banner 라는 이름으로 설정하겠습니다.

[root@myServer ~]# vim /etc/banner

 

이후 원하는 내용으로 배너 메세지를 작성합니다. 저장하고 편집기에서 빠져나옵니다.

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
@ Welcome to my server!
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

 

배너를 설정하기 위해서는 먼저 SSH 서버의 설정을 변경해야 합니다. 최신 리눅스를 기준으로 대부분은 sshd_config 라는 파일명을 사용합니다.

sshd_configssh 설정 파일이 위치하는 /etc/ssh 내에 존재합니다. (서버 운영체제 또는 버전에 따라 달라질 수 있습니다!)

 

CentOS 7Ubuntu 18.04를 기준으로 다음 경로에 있는 파일을 편집합니다.

[root@myHost ~]# vim /etc/ssh/sshd_config

 

배너 메세지를 띄우는 옵션은 하단 부분에 주석으로 처리되어 있을 것입니다. 기본 값으로는 배너를 띄우지 않기 때문입니다. 일단 다음 내용을 찾습니다.

#Banner none

이 내용의 주석(#)을 해제한 후, none을 사전에 만들었던 배너 파일 경로로 변경해줍니다.

Banner /etc/banner

 

아래와 같이 입력이 완료되었다면 파일을 저장해주세요.

ssh-banner-message-settings

 

이제 이 설정을 현재 구동 중인 SSH 서버에 바로 적용하기 위해 서비스를 재시작해야 합니다.

service 또는 systemctl 명령어를 사용하여 sshd 서비스를 다시 시작합니다.

[root@myServer ~]# service sshd restart
또는
[root@myServer ~]# systemctl restart sshd

 

이후 터미널에 재접속하게 되면 아래와 같이 정상적으로 배너 메세지가 나타남을 알 수 있습니다.

ssh-banner-message-example

 

참고로 배너 파일에서는 명령어를 넣을 수 없습니다. 따라서 로그인 할 때 마다 명령어를 실행하고자 할 때는 .bash_profile이나 .bashrc와 같은 파일을 사용해야 합니다.

The post SSH 터미널에 접속할 때 배너 메세지(Banner) 보여주기 appeared first on JooTC.

]]>
https://jootc.com/p/201809221855/feed 0 1855