The post PortX 출시 – 크로스플랫폼 SSH 클라이언트 appeared first on JooTC.
]]>넷사랑컴퓨터에서는 강력한 SSH 클라이언트인 Xshell과, FTP/SFTP 클라이언트인 Xftp와 XDMCP, RDP 등을 지원하는 X Server인 Xmanager 등의 제품이 있습니다. PortX는 이 세 제품과 포지션이 거의 비슷하지만 macOS나 리눅스와 같이 여러 OS를 동시에 지원하고, 모던한 디자인을 채택했으며 데이터 동기화 등의 신규 기능 지원과 같은 몇가지 차이점이 있습니다.
PortX는 SSH2 프로토콜로 원격 서버의 터미널에 접속할 수 있는 터미널 에뮬레이터입니다. PuTTY와는 달리 자주 접속하는 세션에 대한 관리나 커스터마이징에 강점을 두고있습니다.
Xshell을 개발한 회사에서 출시한 제품이다보니 추후 Xshell과 유사한 기능이 많이 지원될 것으로 보입니다.
또한 앞으로 다음 기능이 추가 될 예정이라고 합니다.
PortX는 아직 새로운 기능이 개발 중인 오픈 베타 상태입니다. 따라서 아직 Xshell에 비해 부족한 기능이 많으며, 몇몇 불안정한 부분이 있을 수 있습니다.
먼저 홈페이지에서 더 자세한 정보를 알아볼 수 있습니다.
PortX는 운영체제별로 제공되는 앱스토어와, 패키지 다운로드 버전 등의 다양한 방법으로 배포되고 있습니다.
윈도우와 macOS용 스토어가 아닌 버전(x86 설치버전)은 홈페이지에서 받으실 수 있습니다. 이외에도 Winget, Homebrew, Chocolatey와 같은 CLI 인터페이스로도 설치가 가능합니다.
The post PortX 출시 – 크로스플랫폼 SSH 클라이언트 appeared first on JooTC.
]]>The post Vim 붙여넣기 시 잘못된 탭 문자(Auto indent) 해결하기 appeared first on JooTC.
]]><!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.
]]>The post 마이크로소프트, 새로운 윈도우 터미널 앱 공개 appeared first on JooTC.
]]>지난 5월 6일, 마이크로소프트(Microsoft)는 윈도우 10에 곧 등장할 예정인 새로운 터미널 소프트웨어(Windows Terminal)를 공개하였습니다.
윈도우 10에는 서드 파티 소프트웨어를 제외하고 그렇다 할만한 터미널 앱이 없었습니다. 기존의 명령 프롬프트나 Power Shell은 클래식 앱으로서 충분히 오래된 사용자 인터페이스였습니다.
개인적으로 유니버셜 앱 환경으로 Token2Shell과 비슷하다곤 생각했는데 이번 마이크로소프트의 공식적인 터미널 앱이 등장하게 되면서 앞으로 유니버셜 앱 환경의 터미널 앱을 사용하는 사람이 얼마나 늘어날지에 대해 기대가 되기도 합니다.
윈도우 터미널은 탭으로 이루어진 터미널 환경을 구성할 수 있습니다. 작업 특성상 여러개의 서버를 동시에 열어야 하는 경우 탭 환경의 인터페이스로 인해 효율적인 작업을 할 수 있을 것으로 기대됩니다. 다만 탭을 Split & Arrange 할 수 있지는 않아보이며 이는 추후 새로운 기능으로 추가 될 것으로 예상해봅니다.
윈도우 터미널은 GPU 가속 렌더징 엔진(DirectWrite/DirectX)을 사용하여 이모티콘, CJK(Chinese Japanese Korean)문자, 프로그래밍 문자 등의 어떠한 문자나 기호 더라도 빠르고 정확하게 표시해냅니다.
터미널 앱에는 기존의 명령 프롬프트나 PowerShell은 물론 Windows Subsystem for Linux (WSL으로 불림) 환경의 우분투/리눅스 터미널과 Azure, AWS와 같은 클라우드나 IoT, 호스팅 환경의 터미널을 SSH를 사용하여 접속할 수 있는 모든 구성 요소를 갖추고 있습니다.
아직은 최초 버전의 발표 소식 뿐이기 때문에 더 많은 기능의 추가 가능성에 대해서는 확정된 것이 없으며, 사용자 피드백을 받고 계획하는 단계라고 밝혔습니다.
또한 윈도우 터미널은 오픈소스로 공개되어 GitHub (https://github.com/Microsoft/Terminal)에 공개 된 코드를 사용, 수정, 배포할 수 있게 되었습니다.
윈도우 터미널 1.0은 2019년 여름 경 윈도우 스토어 (Microsoft Store)에 프리뷰 빌드가 공개 될 예정이며 2019년 겨울에 정식 출시 될 예정입니다.
자세한 소식은 다음 마이크로소프트 공식 개발자 블로그를 참고해주세요.
The post 마이크로소프트, 새로운 윈도우 터미널 앱 공개 appeared first on JooTC.
]]>The post macOS 14.10 Mojave 설치 ISO 생성 방법 (앱스토어 사용) appeared first on JooTC.
]]>일반적으로 dmg
나 app
파일로만 제공되는 설치 디스크를 사용하여 현재의 macOS를 초기화하거나, 업그레이드 할 수 있습니다. 그러나 이외에도 부팅 USB를 만든다던지 가상 머신에 설치해야 하는 상황이 올 수 있습니다.
여기서는 app 파일을 사용하여 VMware Fusion이나 VirtualBox, Parallels Desktop과 같은 가상 머신 소프트웨어에서 사용하기 위한 ISO 파일을 생성해보도록 하겠습니다.
먼저 애플의 맥용 앱스토어에서 직접 macOS Mojave 설치 어플리케이션을 받아야 합니다. 사용하고 있는 macOS에서 앱스토어에 접속하겠습니다.
이후 검색 창에 ‘macOS Mohave’ 를 검색하면 다음과 같은 앱이 나올 것입니다. 클릭하여 자세한 페이지로 이동합니다. (다음 링크에 접속해서 진행하셔도 됩니다 : https://itunes.apple.com/kr/app/macos-mojave/id1398502828?mt=12)
여기에서 받기(GET) 버튼을 클릭합니다. 이제 소프트웨어 업데이트 창이 나타나며 다운로드를 시작할 것입니다. (용량이 커서 시간이 소요됩니다.)
다운로드가 완료되면 macOS 설치를 위한 앱이 실행 될 것입니다.
여기서는 이 앱을 사용하여 설치할 것이 아니므로 일단 앱을 종료해주겠습니다.
이제 이 앱의 데이터를 사용하여 ISO 파일로 추출해보도록 하겠습니다.
먼저 macOS의 터미널 앱을 열어야 합니다. 검색이나 LaunchPad 앱 등을 사용하여 터미널 앱을 실행해줍니다.
실행해야 할 명령어가 많기 때문에 가능하면 셸 스크립트를 생성하여 진행하도록 하는 것이 좋습니다. 아래 명령어로 스크립트 파일을 생성해보겠습니다. (또한 아래 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 파일이 바탕화면에 생성 될 것입니다.
이제 이 파일을 가상 머신을 생성할 때, 또는 다른 목적으로 각각의 어플리케이션에서 사용할 수 있습니다.
기존에 설치한 어플리케이션은 삭제하셔도 좋습니다.
The post macOS 14.10 Mojave 설치 ISO 생성 방법 (앱스토어 사용) appeared first on JooTC.
]]>The post macOS brew 설치 및 사용법 – Homebrew 패키지 관리자 정복하기 appeared first on JooTC.
]]>macOS는 유닉스 시스템에 기반한 운영체제입니다. 운영체제에 내장된 터미널에는 일반적으로 자주 쓰이는 배시 셸(Bash Shell) 명령어를 사용할 수 있도록 고안되어 있으며 이에 따라 리눅스 명령어로 파일 관리나 시스템 작업을 처리할 수 있습니다.
macOS에서 응용 프로그램 패키지를 설치할 때는 애플 앱스토어나 웹 사이트에서 파일 다운로드를 진행하면 되지만, 기존의 리눅스에서 yum
이나 apt
와 같은 명령줄 인터페이스로 패키지를 macOS에도 간편하게 설치할 수 있습니다.
먼저 macOS에는 기본으로 탑재된 패키지 관리자가 없습니다. 때문에 홈브류(Homebrew)라는 별도의 패키지 관리자를 직접 설치해야 합니다. (참고로 MacPorts라는 패키지 관리자가 또 하나 있지만 개인적으로는 홈브류를 추천드리는 바입니다.)
Homebrew는 의존성 패키지를 체크하는 기능은 물론 빠른 설치와 삭제가 가능하여 개발자들에 의해 많이 쓰이는 패키지 관리자입니다. 오늘 포스팅에서는 홈브류를 설치하고 간단히 사용해보도록 하겠습니다.
홈브류를 설치하기 위해 macOS의 터미널 앱을 엽니다. (iTerm2 등을 사용해도 좋습니다.) 아래와 같이 검색 창으로 직접 입력하거나 Launchpad – 기타에 있는 ‘터미널’을 실행합니다.
이제 공식 홈페이지에 설명되어있는 설치 명령을 입력해보겠습니다. 다음 명령어를 복사하여 터미널에 붙여넣고 엔터를 입력합니다.
/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
명령어는 apt
와 yum
패키지 관리자와 거의 비슷합니다.)
먼저 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
패키지처럼 체크 표시가 나타날 것입니다.
이후 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.
]]>The post Xshell 사용법 – 프로그램 기본 사용 및 SSH 세션 접속 appeared first on JooTC.
]]>넷사랑컴퓨터의 Xshell은 TELNET/SSH 프로토콜로 리눅스 원격 호스트에 접속할 수 있는 윈도우용 터미널 에뮬레이터입니다. 국내 기업에서 개발된 프로그램으로 제품 한글화는 물론이고 SSH 접속 시 유니코드(UTF-8) 지원으로 한글로 설정된 리눅스에도 문제없이 접속할 수 있습니다.
인지하기 쉬운 인터페이스에 터미널을 사용하면서 유용할만한 부가적인 기능들이 많이 있어서 PuTTY 대체 프로그램으로도 적합합니다. 대표적인 기능들을 몇가지 적어보자면 다음과 같습니다.
Xshell은 개인이나 학생 사용자에게는 무료로 사용할 수 있는 라이선스가 제공됩니다. 기업에서 사용 시에는 사용자 당 라이선스 구매가 필요합니다. 제품 다운로드 관련 포스트는 하단을 참고해주세요.
기본적인 툴 사용법에 초점을 맞추어 SSH 세션에 접속하는 다양한 방법들을 알아보도록 하겠습니다.
시작하기 전에, SSH 프로토콜로 원격 리눅스 세션에 접속하기 위해서는 먼저 접속할 원격 호스트에서 SSH 서버가 구동되고 있어야 합니다. 자세한 내용은 하단의 포스트를 참고해보세요.
이 포스트에서는 원격 서버의 구성이 모두 완료되었다고 가정합니다. 이제 Xshell 프로그램을 실행해보겠습니다.
Xshell 첫 실행 시에는 다음 창이 나타납니다. 세션 파일이나 호스트 키 등의 설정 정보를 저장할 위치를 지정하는 옵션입니다.
C:\Users\[사용자명]\Documents\NetSarang Computer\6
가능하면 기본 값으로 설정해주시고 하단의 ‘확인’을 클릭하여 계속 진행할 수 있습니다.
이제 Xshell 창이 열리는데요. 일반적인 인터페이스는 아래와 같으며 크게 세가지 영역이 보일 것입니다.
표준화된 이름은 아니지만 부르기 편하게 다음과 같이 패널을 나누어보았습니다. 각 패널 및 영역의 역할은 다음과 같습니다.
SSH
또는 TELNET
등의 프로토콜 연결 시 나타날 터미널 부분처음 사용 시 기능이 많고 메뉴나 옵션이 많아 적응하기 어려워보일 수도 있지만, 일단 세션에 연결하고 필요할 때 하나하나 사용해본다면 금방 익숙해지게 될 것입니다.
Xshell은 탭 기반으로 구성된 인터페이스이며 각 탭에서는 SSH
나 TELNET
등의 ‘세션’이 하나씩 열리게 됩니다. 세션이 열리지 않은 상태에서는 ‘로컬 셸’ 상태가 되며 여기서는 윈도우의 명령 프롬프트에서 사용되는 기본 명령어들을 사용할 수 있습니다. (예를 들면 ipconfig
나 netstat
등의 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 |
set | Xshell의 기타 옵션을 확인하고 변경한다. set 만 입력했을 경우 전체 옵션을 보여준다. set a=b 일 때 a의 값을 b 로 변경한다. | set set AutoSaveHostKey=1 |
clear | clear 만 입력했을 경우 터미널 화면을 지운다. - screen : 터미널 화면 지우기 - address : 주소표시줄 입력 히스토리 지우기 - history : 로컬 셸 명령줄 히스토리 지우기 | clear clear history |
help / ? | Xshell 도움말을 띄운다. help 뒤에 인자가 있으면 관련 도움말을 나타낸다. (대문자 HELP는 cmd 도움말을 띄운다.) | ? help help edit |
quit / exit | 로컬 셸 상태에서 탭을 닫거나 프로그램에서 빠져나온다. | exit quit |
ssh | SSH 프로토콜에 접속한다. 상세 내용은 help ssh로 확인 가능. ssh [-p ][-a ][user:pass@]host[ port][;host[ port]] | ssh user@host ssh user:passwd@host ssh host |
telnet | TELNET 프로토콜에 접속한다. 상세 내용은 help telnet으로 확인 가능. telnet [user@]host [port] | telnet user@host telnet user:passwd@host telnet host |
rlogin | RLOGIN 프로토콜에 접속한다. 상세 내용은 help rlogin으로 확인 가능. rlogin [user@]host [port] | rlogin user@host rlogin user:passwd@host rlogin host |
sftp | SFTP 프로토콜에 접속한다. 상세 내용은 help sftp으로 확인 가능. sftp [user:pass@]host [port] | sftp user@host sftp user:passwd@host sftp host |
ftp | FTP 프로토콜에 접속한다. 상세 내용은 help rlogin으로 확인 가능. sftp [user@]host [port] | ftp user@host ftp user:passwd@host ftp host |
disconnect | 세션에 연결 중일 때 연결을 종료시킨다. (대부분 이는 명령어보다 버튼 동작으로 종료하게된다.) | disconnect |
reconnect | 연결이 끊긴 현재 탭에 기존 연결 정보로 다시 연결을 시도한다. | reconnect |
이번에는 간단히 프로그램을 살펴보도록 하겠습니다.
상단 도구 모음 패널에서 각 메뉴를 클릭하여 원하는 기능을 사용할 수 있습니다. 예를 들어 새로운 세션을 만드려면 [파일] 메뉴에서 [새로 만들기]를 클릭하면 됩니다.
Xshell 6에는 아래와 같이 탈착이 가능한 도구가 있습니다. 이는 상단 메뉴에서 [보기]를 클릭하면 나타납니다.
각 도구의 상단 제목을 잡고 드래그하여 분리하고 다른 도구와 병합하여 원하는 대로 레이아웃을 구성할 수 있습니다. 분리 가능한 여러 도구들을 정리하면 다음과 같습니다.
필요에 따라 도구가 필요없다면 숨길 수도 있습니다. 또는 Alt+S
키를 눌러 Xshell을 PuTTY 창처럼 간단하게 표시할 수 있습니다.
이런식으로 구성된 레이아웃을 필요할 때 마다 바꿔가고 싶은 경우, 상단 [보기] – [레이아웃] 메뉴에서 현재 레이아웃 위치와 배치 상태를 저장할 수 있습니다.
Xshell의 ‘탭’ 또한 여러개 열어서 배치하고 구성할 수 있습니다.
하나의 경계선 내에 존재하는 ‘탭’들은 하나의 ‘탭 그룹’으로 불리며 탭 그룹 내에서는 탭 앞에 있는 번호(1, 2, 3…)를 참고하여 Alt+1
, Alt+2
, Alt+3
키를 눌러 빠른 탭 전환이 가능합니다. Ctrl+Shift+TAB
키(다음 탭 전환)와 Ctrl+TAB
키(다음 탭 그룹 전환)를 사용해도 좋습니다.
탭을 옮기려면 탭 부분에서 마우스를 잡고 원하는 위치로 드래그하여 놓으면 됩니다. 아래 사진과 같이 4방향으로 배치가 가능합니다.
그저 원버튼으로 빠르게 배치하고자 할 경우, 상단의 [탭] – [정렬] 메뉴를 사용하여 한 번에 배치할 수도 있습니다.
터미널을 큰 화면으로 보고 싶은 경우 전체 화면 기능을 사용하여 터미널 화면만 크게 보이게 할 수 있습니다.
여기서 전체 화면 형식은 두 가지가 있는데, 각각의 의미는 다음과 같습니다.
다중 창 전체화면을 선택하면 아래와 같이 보이는 탭 그룹을 모두 전체화면에서 보여줍니다.
이제 본격적으로 SSH 세션에 연결해보도록 하겠습니다. Xshell에서 SSH 세션에 연결하는 방법은 아래와 같이 여러 수단이 있습니다. 하나하나 알아보도록 하겠습니다.
로컬 셸에서 간단히 접속 정보를 입력하여 연결할 수 있습니다. 상단의 ‘로컬 셸 명령어’ 항목을 참고하여 프로토콜과 각 연결 정보를 입력하여 접속을 시도합니다.
ssh myhost
(‘myhost’ 호스트에 SSH 접속 시도)ssh user@myhost
(‘myhost’ 호스트에 ‘user’ 사용자로 SSH 접속 시도)telnet user:passwd@myhost
(‘myhost’ 호스트에 ‘user’ 사용자 ‘passwd’ 패스워드로 TELNET 접속 시도)이번에는 상단에 주소 표시줄에서 연결해보겠습니다. 연결 방법은 위 터미널 연결 시와 동일합니다. 다만 이번에는 프로토콜을 입력할 때 ssh://
나 telnet://
과 같이 입력해야 합니다.
ssh://myhost
(‘myhost’ 호스트에 SSH 접속 시도)telnet://[email protected]
(‘192.168.1.123’ 호스트에 ‘user’ 사용자로 TELNET 접속 시도)본격적으로 Xshell의 사용 목적이기도 한 세션 파일을 생성해보도록 하겠습니다. 세션 파일을 만들면 추후 똑같은 정보를 반복해서 입력할 필요가 없어집니다. 세션은 쉽게 말해 접속 정보와 연결 방법, 보기 방식에 대한 여러가지 설정 내용이 담긴 파일이며 .xsh
형식의 확장자로 저장됩니다.
먼저 [파일] – [새로 만들기] 메뉴를 클릭합니다. 그러면 새 세션 파일에 대한 등록 정보 창이 열립니다.
이제 각 범주에서 세션의 연결 정보를 편집해야 합니다. 간단한 연결만 할 것이므로 주요 필수 정보만 입력해보겠습니다.
먼저 [연결] 범주의 [일반] 그룹에서는 세션 파일의 이름이나 연결 정보를 편집할 수 있습니다.
[사용자 인증] 범주로 넘어가서 연결을 위한 사용자 인증 정보를 입력해줍니다.
참고: 연결 시 자동으로 사용자 인증을 진행하므로 이 항목을 비워두어도 좋습니다. 또한 보안상 암호는 저장하지 않는 것을 권장합니다.
일단 이렇게 하면 기본 연결을 위한 설정은 완료됩니다. 이제 창 하단에 있는 ‘확인’ 또는 ‘연결’ 버튼을 클릭합니다. (‘연결’을 클릭하면 세션 파일을 저장한 후 즉시 연결을 시도하게 됩니다.)
세션에 연결하면 먼저 호스트 키를 체크합니다. 현재 Xshell에 저장된 호스트 키가 없을 경우 아래와 같이 묻게 됩니다. 호스트 키는 접속하려는 서버가 올바른 행선지인지 확인하기 위한 과정입니다. 따라서 호스트 키의 손도장 해시값(MD5 Hash) 등의 정보를 확인하여 실제 서버와 비교해보는 것도 좋습니다.
이상이 없다면 ‘수락 및 저장’을 클릭하여 이후에 호스트 키가 변동될 때 까지 묻지 않도록 합니다.
이제 세션에 성공적으로 연결되었습니다.
이렇게 Xshell의 일반적인 기능들을 살펴보았습니다. 터미널 환경에서 작업을 진행해가면서 터널링, 포워딩, 터미널 하이라이트, 검색 기능과 같은 Xshell만의 다양한 기능을 사용할 수 있을 것입니다. 이러한 기능들은 추후 포스트에서 다루어보도록 하겠습니다.
프로그램에 조금씩 익숙해져가면서 유용한 기능과 많이 접해보셨으면 합니다. 읽어주셔서 감사합니다.
The post Xshell 사용법 – 프로그램 기본 사용 및 SSH 세션 접속 appeared first on JooTC.
]]>The post macOS SSH 서버(sshd)를 사용하여 원격에서 터미널 접속하기 appeared first on JooTC.
]]>macOS는 유닉스 기반의 운영체제입니다. 따라서 리눅스에서 볼 수 있었던 터미널 환경이나 관련 프로토콜을 즉시 사용할 수 있는 장점이 있습니다.
그렇지만 일반적으로 사용되는 리눅스 명령어와는 다른 부분이 있기 때문에 리눅스에서 설정했던 SSHD 서버 구동을 그대로 따라하다가는 오류가 발생할 수 있습니다.
이 포스트에서는 간단하게 SSH 서버를 활성화 할 수 있는 방법을 알려드리겠습니다.
먼저 시스템 환경 설정을 열어야 합니다. 좌측 상단의 애플 로고를 클릭한 다음 ‘시스템 환경설정…’을 클릭합니다.
이후 다양한 설정 중에 ‘공유’ 항목을 클릭합니다
공유 항목의 좌측 선택지에서 ‘원격 로그인’ 항목을 찾아 체크합니다. 이후 우측의 원격 로그인이 ‘켬’ 으로 표시되어야 합니다.
방화벽 설정에 대해서는 위 옵션 체크 시 자동으로 추가될 것이므로 따로 설정할 내용은 없습니다.
이렇게 하면 일단 관리자 권한을 가진 계정만 로그인이 가능합니다. 만약 특정 사용자에게 접속 권한을 부여하고자 할 경우, ‘다음 사용자의 접근을 허용:’ 란에서 ‘모든 사용자’를 선택해주어야 합니다. 또는 아래와 같이 특정 사용자만 허가할 수도 있습니다.
하단의 ‘+’ 버튼을 클릭합니다.
원하는 사용자를 선택한 후 ‘선택’을 클릭합니다.
이제 활성화가 완료되었습니다. 그러나 아직 한 가지 확인 작업이 더 필요합니다.
외부에서 이 PC(macOS)에 접속하기 위해서는 일련의 네트워크 주소(IP)가 필요합니다. 이제 이 PC의 호스트 주소를 확인해보겠습니다.
독(Dock)에서 런치패드(LaunchPad)를 열어줍니다. 이후 터미널을 검색하여 터미널 앱을 실행합니다.
터미널이 열리면 ifconfig
명령어를 입력합니다. 이후 en0
항목의 inet
에 접속할 호스트의 IP 주소가 나타날 것입니다. (네트워크 환경에 따라 장치명이 다를 수 있음)
외부에서 접속할 때 이 주소를 입력할 것입니다.
이제 원격지에서 터미널 클라이언트를 사용하여 macOS의 터미널로 접속해보겠습니다.
원격지의 운영체제의 종류에 따라서 터미널 클라이언트가 달라질 수 있습니다. 예를 들어 리눅스 또는 macOS의 경우 기본 터미널 클라이언트가 제공됩니다.
일반적인 경우 터미널을 열고 단순히 아래 명령어로 원하는 서버에 접속할 수 있습니다.
$ ssh [username]@[hostname]
만약 호스트 주소가 myhost
이고 사용자 이름이 user
인 경우 아래와 같이 사용됩니다. (상단에서 확인한 IP 주소를 myhost 부분에 입력하면 됩니다.)
[user@localhost ~]$ ssh user@myhost
윈도우에서 macOS로 SSH 접속을 하려면 터미널 클라이언트 프로그램을 설치해야 합니다. 단, 윈도우 1803 버전 (RS4) 부터 명령 프롬프트에 SSH 명령어가 포함되어 있으므로 최신 버전의 윈도우를 사용 중이라면 위 방법으로도 접속이 가능합니다.
윈도우의 대표적인 SSH 클라이언트는 PuTTY, Xshell, SecureCRT 등이 있습니다. 여기서는 Xshell을 사용하여 접속해보겠습니다.
Xshell을 실행한 후 하단의 명령어를 로컬 셸에 입력하여 접속을 시도할 수 있습니다.
[C:\~]$ ssh user@myhost
Xshell은 또한 각 세션에 대한 개별 파일을 만들어서 관리할 수 있습니다. 세션 파일을 만들어 명령어를 입력하는 과정을 축소할 수 있습니다.
상단 메뉴에서 ‘파일’ 을 선택한 후 ‘새로 만들기’를 클릭합니다.
이제 이 세션의 정보를 편집하는 창이 열릴 것입니다. 파일명과 호스트 주소 (상단의 IP)를 입력한 후, 하단의 ‘연결’을 클릭하면 파일이 저장되면서 세션에 연결될 것입니다.
사용자 이름과 암호를 입력한 후에 macOS 서버에 접속될 것입니다.
The post macOS SSH 서버(sshd)를 사용하여 원격에서 터미널 접속하기 appeared first on JooTC.
]]>The post PuTTY 다운로드 링크 및 설치 방법 알아보기 appeared first on JooTC.
]]>PuTTY는 Simon Tatham이 개발한 오픈소스 터미널 에뮬레이터입니다. (퍼티, 푸티라고 부르기도 합니다.)
PuTTY는 SSH, TELNET, RLOGIN, SERIAL 연결을 지원하며 터미널 클라이언트라고 부를 만한 기본적인 기능은 대부분 탑재되어있고 가볍다는 장점이 있어 리눅스 원격 접속으로 공부하려는 입문자에게 유용한 프로그램일 것입니다.
SSH 프로토콜에 대해서는 아래 포스트가 도움이 될 것 같습니다.
PuTTY는 다음 링크에서 다운로드 받을 수 있습니다. 두 번째 링크는 다운로드 페이지로 바로 이동합니다.
다운로드 페이지에는 두 가지 다운로드 방식이 존재합니다. PuTTY를 포함한 다양한 유틸리티를 받고 싶다면 Package files 항목의 .msi 인스톨러 파일을 받으시고, 그저 PuTTY만 사용하려면 Alternative binary files 항목의 putty.exe 파일을 다운로드 받으면 됩니다.
Alternative binary files 항목에서 다운로드 받았다면 별도의 설치과정 없이 다운로드 받은 파일을 실행해주면 됩니다.
만약 .msi 인스톨러를 다운로드 받은 경우 아래 설치 과정을 진행해야 합니다. msi 파일을 클릭하여 실행해주세요.
사실 인스톨 과정은 크게 어렵지 않습니다. 하단의 설치 과정을 따라해주세요.
The post PuTTY 다운로드 링크 및 설치 방법 알아보기 appeared first on JooTC.
]]>The post WARNING: UNPROTECTED PRIVATE KEY FILE! 문제 해결 appeared first on JooTC.
]]>서버-서버 간의 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.
]]>The post SSH 터미널에 접속할 때 배너 메세지(Banner) 보여주기 appeared first on JooTC.
]]>SSH 프로토콜을 사용하여 터미널에 접속할 때 배너 메세지를 나타나도록 설정할 수 있습니다. 배너 메세지는 서버의 간략한 정보나 접속하는 관리자에게 전할 메모와 같은 역할을 합니다.
배너 메세지는 사용자가 원하는 텍스트로 설정할 수 있습니다.
먼저 로그인 시에 표시 할 배너 파일을 작성하기 위해 /etc
디렉토리 위치에 원하는 파일 이름으로 생성합니다. (root 권한으로 진행합니다.)
여기서는 banner 라는 이름으로 설정하겠습니다.
[root@myServer ~]# vim /etc/banner
이후 원하는 내용으로 배너 메세지를 작성합니다. 저장하고 편집기에서 빠져나옵니다.
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ @ Welcome to my server! ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
배너를 설정하기 위해서는 먼저 SSH 서버의 설정을 변경해야 합니다. 최신 리눅스를 기준으로 대부분은 sshd_config
라는 파일명을 사용합니다.
sshd_config
는 ssh 설정 파일이 위치하는 /etc/ssh
내에 존재합니다. (서버 운영체제 또는 버전에 따라 달라질 수 있습니다!)
CentOS 7과 Ubuntu 18.04를 기준으로 다음 경로에 있는 파일을 편집합니다.
[root@myHost ~]# vim /etc/ssh/sshd_config
배너 메세지를 띄우는 옵션은 하단 부분에 주석으로 처리되어 있을 것입니다. 기본 값으로는 배너를 띄우지 않기 때문입니다. 일단 다음 내용을 찾습니다.
#Banner none
이 내용의 주석(#)을 해제한 후, none을 사전에 만들었던 배너 파일 경로로 변경해줍니다.
Banner /etc/banner
아래와 같이 입력이 완료되었다면 파일을 저장해주세요.
이제 이 설정을 현재 구동 중인 SSH 서버에 바로 적용하기 위해 서비스를 재시작해야 합니다.
service
또는 systemctl
명령어를 사용하여 sshd 서비스를 다시 시작합니다.
[root@myServer ~]# service sshd restart 또는 [root@myServer ~]# systemctl restart sshd
이후 터미널에 재접속하게 되면 아래와 같이 정상적으로 배너 메세지가 나타남을 알 수 있습니다.
참고로 배너 파일에서는 명령어를 넣을 수 없습니다. 따라서 로그인 할 때 마다 명령어를 실행하고자 할 때는 .bash_profile
이나 .bashrc
와 같은 파일을 사용해야 합니다.
The post SSH 터미널에 접속할 때 배너 메세지(Banner) 보여주기 appeared first on JooTC.
]]>