Linux Server

[Linux]Ubuntu Server - SSH 설치

톰아저씨의 오두막 2021. 7. 2. 08:42

[Linux]Ubuntu Server - SSH 설치

[Linux] Ubuntu Server - SSH Installation

Ubuntu 20.04

《SSH, Secure Shell》는 《텔넷, Telnet》처럼 원격 컴퓨터에서 호스트 컴퓨터에 《Putty》,《MobaXTerm》과 같은 터미널 접속 프로그램을 이용하여 명령 실행이나 파일 관리를 할 수 있도록 지원하는 프로그램입니다. SSH는 암호화된 인증 방법을 이용하므로 강력한 보안 체계를 지원합니다.

 

패키지 설치 전 필수 작업

Ubuntu 에서 리눅스 패키지를 배포하거나 설치하기 전에는 필수적으로 시스템 내에 설치된 패키지들을 업그레이드하여 최신 버전으로 유지해 주는 것이 좋습니다. 패키지 설치 전 필수 작업은 다음 글을 참고바랍니다.

 

 

[Ubuntu]Ubuntu 20.04 패키지 설치 전 사전 필수 작업

[Ubuntu]Ubuntu 20.04 패키지 설치 전 사전 필수 작업 [Ubuntu] Prerequisite tasks before installing Ubuntu 20.04 package Ubuntu 에서 리눅스 패키지를 배포하거나 설치하기 전에는 필수적으로..

tomcabin.tistory.com

 

Open SSH Server 설치

다음 명령어를 입력하여 《Openssh Server》패키지를 설치합니다. SSH 서버를 설치하게 되면 자동으로 실행됩니다.

 

1
root@uncletom-vm:~# sudo apt install openssh-server

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
root@uncletom-vm:~# sudo apt install openssh-server
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다       
상태 정보를 읽는 중입니다... 완료
다음의 추가 패키지가 설치될 것입니다 :
  ncurses-term openssh-sftp-server ssh-import-id
제안하는 패키지:
  molly-guard monkeysphere ssh-askpass
다음 새 패키지를 설치할 것입니다:
  ncurses-term openssh-server openssh-sftp-server ssh-import-id
0개 업그레이드, 4개 새로 설치, 0개 제거 및 6개 업그레이드 안 함.
688 k바이트 아카이브를 받아야 합니다.
이 작업 후 6,010 k바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까? [Y/n] y
받기:1 http://kr.archive.ubuntu.com/ubuntu focal/main amd64 ncurses-term 
all 6.2-0ubuntu2 [249 kB]
받기:2 http://kr.archive.ubuntu.com/ubuntu focal-updates/main amd64 
openssh-sftp-server amd64 1:8.2p1-4ubuntu0.2 [51.5 kB]
받기:3 http://kr.archive.ubuntu.com/ubuntu focal-updates/main amd64 
openssh-server amd64 1:8.2p1-4ubuntu0.2 [377 kB]
받기:4 http://kr.archive.ubuntu.com/ubuntu focal/main amd64 
ssh-import-id all 5.10-0ubuntu1 [10.0 kB]
내려받기 688 k바이트, 소요시간 4초 (163 k바이트/초)
패키지를 미리 설정하는 중입니다...
Selecting previously unselected package ncurses-term.
(데이터베이스 읽는중 ...현재 192779개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack .../ncurses-term_6.2-0ubuntu2_all.deb ...
Unpacking ncurses-term (6.2-0ubuntu2) ...
Selecting previously unselected package openssh-sftp-server.
Preparing to unpack .../openssh-sftp-server_1%3a8.2p1-4ubuntu0.2_amd64.deb ...
Unpacking openssh-sftp-server (1:8.2p1-4ubuntu0.2) ...
Selecting previously unselected package openssh-server.
Preparing to unpack .../openssh-server_1%3a8.2p1-4ubuntu0.2_amd64.deb ...
Unpacking openssh-server (1:8.2p1-4ubuntu0.2) ...
Selecting previously unselected package ssh-import-id.
Preparing to unpack .../ssh-import-id_5.10-0ubuntu1_all.deb ...
Unpacking ssh-import-id (5.10-0ubuntu1) ...
openssh-sftp-server (1:8.2p1-4ubuntu0.2) 설정하는 중입니다 ...
openssh-server (1:8.2p1-4ubuntu0.2) 설정하는 중입니다 ...
 
Creating config file /etc/ssh/sshd_config with new version
Creating SSH2 RSA key; this may take some time ...
3072 SHA256:nIpBW4/ksAUbyddeOl64y5xr9JOWcwKw4vxDF19Svog root@uncletom-vm (RSA)
Creating SSH2 ECDSA key; this may take some time ...
256 SHA256:k1O8QNdsMFw2sjGbHBAZsuB31NH1+bAPxRhqUeAL1dI root@uncletom-vm (ECDSA)
Creating SSH2 ED25519 key; this may take some time ...
256 SHA256:rnYCC86BuTnyL7D0JPlTJe1ixeLkW4MnSeSCWaXz8jc root@uncletom-vm (ED25519
)
Created symlink /etc/systemd/system/sshd.service → /lib/systemd/system/ssh.servi
ce.
Created symlink /etc/systemd/system/multi-user.target.wants/ssh.service → /lib/s
ystemd/system/ssh.service.
rescue-ssh.target is a disabled or a static unit, not starting it.
ssh-import-id (5.10-0ubuntu1) 설정하는 중입니다 ...
Attempting to convert /etc/ssh/ssh_import_id
ncurses-term (6.2-0ubuntu2) 설정하는 중입니다 ...
Processing triggers for systemd (245.4-4ubuntu3.7) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for ufw (0.36-6) ...
root@uncletom-vm:~
 

 

SSH Server 실행

SSH Server의 실행 상태는 다음 명령어를 이용하여 체크할 수 있습니다. 'Active: active (running) since...'가 표시되면 정상 실행 중인 상태입니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
root@uncletom-vm:~# sudo systemctl status ssh
● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: e>
     Active: active (running) since Fri 2021-07-02 07:41:28 KST; 13min ago
       Docs: man:sshd(8)
             man:sshd_config(5)
   Main PID: 11841 (sshd)
      Tasks: 1 (limit: 9448)
     Memory: 1.3M
     CGroup: /system.slice/ssh.service
             └─11841 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
 
 7월 02 07:41:28 uncletom-vm systemd[1]: Starting OpenBSD Secure Shell server...
 7월 02 07:41:28 uncletom-vm sshd[11841]: Server listening on 0.0.0.0 port 22.
 7월 02 07:41:28 uncletom-vm sshd[11841]: Server listening on :: port 22.
 7월 02 07:41:28 uncletom-vm systemd[1]: Started OpenBSD Secure Shell server.
lines 1-15/15 (END)

 

 

Active: inactive... 상태이면 비활성화된 상태이므로 다음 명령을 이용하여 SSH Server를 활성화 시킵니다.

 

1
2
root@uncletom-vm:~# sudo systemctl enable ssh
root@uncletom-vm:~# sudo systemctl start ssh

 

 

원격으로 호스트 컴퓨터에 접속하기 전에 호스트 컴퓨터의 방화벽을 체크할 필요가 있습니다. 방화벽 활성화 상태를 확인한 후 활성화되어 있으면 SSH 접속을 허용하여야 합니다.

 

우선 다음 명령어로 방화벽 상태를 확인 합니다.

 

1
2
3
root@uncletom-vm:~# sudo ufw status
상태: 비활성
root@uncletom-vm:~

 

 

방화벽 상태가 《비활성화, Inactive》상태이면 상관없지만, 《활성화, Active》상태이면 다음 명령을 통해 SSH를 허용합니다.

 

1
root@uncletom-vm:~# sudo ufw allow ssh