SSH(Secure Shell)는 클라이언트와 서버 간의 보안 연결에 사용되는 네트워크 프로토콜입니다. 서버와 클라이언트 간의 각 상호 작용은 암호화됩니다.
이 튜토리얼에서는 Ubuntu 시스템에서 SSH를 사용하도록 설정하는 방법을 설명합니다.
SSH를 활성화하면 원격으로 시스템에 연결하고 관리 작업을 수행할 수 있습니다. 또한 scp 및 sftp 를 통해 파일을 안전하게 전송할 수 있습니다.
Ubuntu에서 SSH를 사용하도록 설정
기본적으로 Ubuntu를 처음 설치할 때 SSH를 통한 원격 액세스는 허용되지 않습니다. Ubuntu에서 SSH를 사용하도록 설정하는 것은 매우 간단합니다.
Ubuntu 시스템에 SSH를 설치하고 사용하도록 설정하려면 루트 또는 sudo 권한이 있는 사용자로 다음 단계를 수행합니다.
Ctrl+Alt+T로 터미널을 열고 openssh-server 패키지를 설치합니다.
sudo apt update
sudo apt install openssh-server
메시지가 나타나면 암호를 입력하고 Enter 키를 눌러 설치를 계속합니다.
설치가 완료되면 SSH 서비스가 자동으로 시작됩니다. 다음을 입력하여 SSH가 실행 중인지 확인할 수 있습니다.
시스템 부팅 시 서비스가 실행 중이고 시작 가능하도록 설정되었음을 출력에 알려줘야 합니다.
sudo systemctl status ssh
# ● ssh.service - OpenBSD Secure Shell server
# Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
# Active: active (running) since Mon 2020-06-01 12:34:00 CEST; 9h ago
# ...
q를 눌러 명령줄 프롬프트로 돌아갑니다.
Ubuntu는 UFW라는 방화벽 구성 도구와 함께 제공됩니다. 시스템에서 방화벽을 사용하도록 설정한 경우 SSH 포트를 여십시오.
sudo ufw allow ssh
이제 모든 원격 시스템에서 SSH를 통해 Ubuntu 시스템에 연결할 수 있습니다. Linux 및 macOS 시스템에는 기본적으로 SSH 클라이언트가 설치되어 있습니다. 윈도우즈 시스템에서 연결하려면 PuTTY 와 같은 SSH 클라이언트를 사용합니다.
SSH 서버에 연결
LAN을 통해 Ubuntu 시스템에 연결하려면 ssh 명령 다음에 사용자 이름 및 IP 주소를 다음 형식으로 호출합니다.
ssh username@ip_address
SSH를 설치한 Ubuntu 시스템의 IP 주소로 실제 사용자 이름과 ip_address를 사용하여 사용자 이름을 변경해야 합니다.
IP 주소를 모르는 경우 IP 명령을 사용하여 쉽게 찾을 수 있습니다.
ip a
출력에서 알 수 있듯이 시스템 IP 주소는 10.0.2.15입니다.
IP 주소를 찾았으면 다음 ssh 명령을 실행하여 원격 시스템에 로그인합니다.
ssh jjeongil@10.0.2.15
# The authenticity of host '10.0.2.15 (10.0.2.15)' can't be established.
# ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY.
# Are you sure you want to continue connecting (yes/no)?
# Warning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts.
# jjeongil@10.0.2.15's password:
처음 연결하면 다음과 같은 메시지가 표시됩니다.
yes를 입력하면 암호를 입력하라는 메시지가 표시됩니다.
암호를 입력하면 기본 Ubuntu 메시지가 표시됩니다.
# Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-26-generic x86_64)
#
# * Documentation: https://help.ubuntu.com
# * Management: https://landscape.canonical.com
# * Support: https://ubuntu.com/advantage
# ...
이제 Ubuntu 시스템에 로그인되었습니다.
NAT 지원 SSH에 연결
인터넷을 통해 가정용 Ubuntu 기기에 연결하려면 공용 IP 주소를 알고 포트 22의 데이터를 수신하여 SSH가 실행 중인 Ubuntu 시스템으로 전송하도록 라우터를 구성해야 합니다.
SSH를 수행하려는 시스템의 공용 IP 주소를 확인하려면 다음 URL을 방문하십시오. https://api.ipify.org .
포트 포워딩을 설정할 때는 라우터마다 포트 포워딩을 설정하는 방법이 다릅니다. 포트 포워딩을 설정하는 방법은 라우터 설명서를 참조하십시오. 간단히 말해, 요청을 할 포트 번호(기본 SSH 포트: 22)와 SSH가 실행 중인 시스템의 이전에 찾은 개인 IP 주소(IP a 명령 사용)를 입력해야 합니다.
IP 주소를 찾고 라우터를 구성했으면 다음을 입력하여 로그인할 수 있습니다.
ssh username@public_ip_address
기기를 인터넷에 노출하는 경우 몇 가지 보안 조치를 구현하는 것이 좋습니다. 가장 기본적인 방법은 라우터가 비표준 포트에서 SSH 트래픽을 허용하고 SSH 서비스를 실행하는 시스템의 포트 22로 전달하도록 구성하는 것입니다.
SSH 키 기반 인증을 설정하고 암호를 입력하지 않고 Ubuntu 시스템에 연결할 수도 있습니다.
Ubuntu에서 SSH를 사용하지 않도록 설정
Ubuntu 시스템에서 SSH 서버를 사용하지 않도록 설정하려면 다음을 실행하여 SSH 서비스를 중지하십시오.
sudo systemctl disable --now ssh
나중에 다시 활성화하려면 다음을 입력합니다.
sudo systemctl enable --now ssh
지금까지 Ubuntu 20.04에 SSH를 설치하고 활성화하는 방법을 보여드렸습니다. 이제 시스템에 로그인하고 명령 프롬프트를 통해 매일 sysadmin 작업을 수행할 수 있습니다.
여러 시스템을 관리하는 경우 SSH 구성 파일에서 모든 연결을 정의하여 워크플로우를 간소화할 수 있습니다. 기본 SSH 포트를 변경하면 자동 공격의 위험을 줄여 시스템에 보안 계층이 추가됩니다.
SSH 서버를 구성하는 방법에 대한 자세한 내용은 Ubuntu의 SSH/OpenSSH/구성 안내서와 공식 SSH 매뉴얼 페이지를 참조하십시오.
참조
https://linuxize.com/post/how-to-enable-ssh-on-ubuntu-20-04/
'SW > 리눅스' 카테고리의 다른 글
Linux : Ubuntu 20.04 : GCC (build-essential) 설치 방법, 예제, 명령어 (0) | 2022.10.04 |
---|---|
Linux : Ubuntu 20.04 : Vagrant 설치 방법, 예제, 명령어 (0) | 2022.10.02 |
Linux : Bash printf 명령어, 예제, 사용 방법 (0) | 2022.09.30 |
Linux : Ubuntu 20.04 : VirtualBox 설치 방법, 예제, 명령어 (0) | 2022.09.29 |
Linux : Ubuntu 20.04 : Docker Compose 설치 방법, 예제, 명령어 (0) | 2022.09.28 |