728x90
반응형

우분투 서버에 다른 PC에서 SSH로 접속하는 방법에 대해 알아보겠습니다. 

제가 설치한 우분투 버전은 Ubuntu 20.04.4 LTS 입니다. 

지금부터 설치와 접속 방법에 대해 소개하겠습니다. 

 

Open ssh Server Install 

sudo apt update

sudo apt install openssh-server

 

min@min-server:~/바탕화면$ su - root
암호: 
root@min-server:~# apt update
기존:1 https://dl.google.com/linux/chrome/deb stable InRelease
받기:2 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]                                  
기존:3 http://kr.archive.ubuntu.com/ubuntu focal InRelease                                            
받기:4 http://kr.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]                           
받기:5 http://kr.archive.ubuntu.com/ubuntu focal-backports InRelease [108 kB]
받기:6 http://kr.archive.ubuntu.com/ubuntu focal-updates/main i386 Packages [616 kB]
받기:7 http://kr.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [1,642 kB]
받기:8 http://kr.archive.ubuntu.com/ubuntu focal-updates/multiverse amd64 Packages [23.8 kB]
받기:9 http://kr.archive.ubuntu.com/ubuntu focal-updates/multiverse i386 Packages [8,460 B]
내려받기 2,627 k바이트, 소요시간 3초 (800 k바이트/초)           
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다       
상태 정보를 읽는 중입니다... 완료
패키지 23이(가) 업그레이드되었습니다. 'apt list --upgradable'를 실행하여 확인해 보십시오.
root@min-server:~# 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개 제거 및 23개 업그레이드 안 함.
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.4 [51.5 kB]
받기:3 http://kr.archive.ubuntu.com/ubuntu focal-updates/main amd64 openssh-server amd64 1:8.2p1-4ubuntu0.4 [377 kB]
받기:4 http://kr.archive.ubuntu.com/ubuntu focal/main amd64 ssh-import-id all 5.10-0ubuntu1 [10.0 kB]
내려받기 688 k바이트, 소요시간 2초 (284 k바이트/초)
패키지를 미리 설정하는 중입니다...
Selecting previously unselected package ncurses-term.
(데이터베이스 읽는중 ...현재 194432개의 파일과 디렉터리가 설치되어 있습니다.)
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.4_amd64.deb ...
Unpacking openssh-sftp-server (1:8.2p1-4ubuntu0.4) ...
Selecting previously unselected package openssh-server.
Preparing to unpack .../openssh-server_1%3a8.2p1-4ubuntu0.4_amd64.deb ...
Unpacking openssh-server (1:8.2p1-4ubuntu0.4) ...
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.4) 설정하는 중입니다 ...
openssh-server (1:8.2p1-4ubuntu0.4) 설정하는 중입니다 ...
Creating config file /etc/ssh/sshd_config with new version
Creating SSH2 RSA key; this may take some time ...
3072 SHA256:oN/4NemlZx06om65/xj6en+ZfJL1vnNLEUpS85tluh4 root@min-server (RSA)
Creating SSH2 ECDSA key; this may take some time ...
256 SHA256:sIwnjEfSdu/Pqb0jQwVrigRwrJUtTizyGrqu3Fjgjqg root@min-server (ECDSA)
Creating SSH2 ED25519 key; this may take some time ...
256 SHA256:LS1OyULLQ0ZywTGiap8KJOW2NzL61r0L4+C7+uWz888 root@min-server (ED25519)
Created symlink /etc/systemd/system/sshd.service → /lib/systemd/system/ssh.service.
Created symlink /etc/systemd/system/multi-user.target.wants/ssh.service → /lib/systemd/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.15) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for ufw (0.36-6ubuntu1) ...
내용 작성

 

SSH 실행 상태 확인 및  활성화 (sudo systemctl status ssh)

sudo systemctl status ssh

sudo systemctl enable ssh

sudo systemctl start ssh 

sudo systemctl restart ssh 

sudo systemctl stop ssh

 

$ sudo systemctl status ssh 
[sudo] min의 암호: 
● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-03-19 11:26:10 KST; 22min ago
       Docs: man:sshd(8)
             man:sshd_config(5)
   Main PID: 4744 (sshd)
      Tasks: 1 (limit: 13936)
     Memory: 1.0M
     CGroup: /system.slice/ssh.service
             └─4744 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups

 3월 19 11:26:10 min-server systemd[1]: Starting OpenBSD Secure Shell server...
 3월 19 11:26:10 min-server sshd[4744]: Server listening on 0.0.0.0 port 22.
 3월 19 11:26:10 min-server sshd[4744]: Server listening on :: port 22.
 3월 19 11:26:10 min-server systemd[1]: Started OpenBSD Secure Shell server.

SSH 서버가 중지 상태일때  모습니다. 

 

root@min-server:~# sudo systemctl stop ssh 
root@min-server:~# sudo systemctl status ssh
● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
     Active: inactive (dead) since Sat 2022-03-19 11:53:01 KST; 3s ago
       Docs: man:sshd(8)
             man:sshd_config(5)
    Process: 6437 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
    Process: 6438 ExecStart=/usr/sbin/sshd -D $SSHD_OPTS (code=exited, status=0/SUCCESS)
   Main PID: 6438 (code=exited, status=0/SUCCESS)

 3월 19 11:52:33 min-server systemd[1]: Starting OpenBSD Secure Shell server...
 3월 19 11:52:33 min-server sshd[6438]: Server listening on 0.0.0.0 port 22.
 3월 19 11:52:33 min-server sshd[6438]: Server listening on :: port 22.
 3월 19 11:52:33 min-server systemd[1]: Started OpenBSD Secure Shell server.
 3월 19 11:53:01 min-server systemd[1]: Stopping OpenBSD Secure Shell server...
 3월 19 11:53:01 min-server sshd[6438]: Received signal 15; terminating.
 3월 19 11:53:01 min-server systemd[1]: ssh.service: Succeeded.
 3월 19 11:53:01 min-server systemd[1]: Stopped OpenBSD Secure Shell server.

 

방화벽 상태 확인 및 비 활성화(Firewall)

sudo ufw allow ssh

sudo ufw status

 

root@min-server:~# sudo ufw allow ssh
규칙이 업데이트됐습니다
규칙이 업데이트됐습니다(v6)
root@min-server:~# sudo ufw status
상태: 비활성
root@min-server:~# 

 

SSH 클라이언트 접속 

접속해볼 클라이언트 테스트 계정을 생성해 보겠습니다. 

저는 앞으로 Docker 를 공부해 볼 계획이라 docker-test 계정을 생성하겠습니다. 

테스트 절차는 아래 내용으로 진행 하겠습니다. 

 

1. 테스트 계정 생성 

2. 우분투 서버 IP 정보 확인 

3.리눅스 테스트 계정 접속 

4. 리모트 서버(윈도우 노트북 -> 우분투 테스트 계정 접속)

 

테스트 계정 생성 

# adduser docker-test
'docker-test' 사용자를 추가 중...
새 그룹 'docker-test' (1001) 추가 ...
새 사용자 'docker-test' (1001) 을(를) 그룹 'docker-test' (으)로 추가 ...
'/home/docker-test' 홈 디렉터리를 생성하는 중...
'/etc/skel'에서 파일들을 복사하는 중...
새  암호: 
새  암호 재입력: 
passwd: 암호를 성공적으로 업데이트했습니다
docker-test의 사용자의 정보를 바꿉니다
새로운 값을 넣거나, 기본값을 원하시면 엔터를 치세요
이름 []: 
방 번호 []: 
직장 전화번호 []: 
집 전화번호 []: 
기타 []: 
정보가 올바릅니까? [Y/n] 

 

우분투 서버 IP 정보 확인 

# ifconfig
enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 180.64.82.103  netmask 255.255.255.192  broadcast 180.64.82.127
        inet6 fe80::8129:3259:2d4c:d494  prefixlen 64  scopeid 0x20<link>
        ether bc:5f:f4:38:74:e5  txqueuelen 1000  (Ethernet)
        RX packets 27950  bytes 27074047 (27.0 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 17481  bytes 3314029 (3.3 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 868  bytes 84762 (84.7 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 868  bytes 84762 (84.7 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

리눅스 테스트 계정 접속 

# ssh docker-test@180.64.82.103
The authenticity of host '180.64.82.103 (180.64.82.103)' can't be established.
ECDSA key fingerprint is SHA256:sIwnjEfSdu/Pqb0jQwVrigRwrJUtTizyGrqu3Fjgjqg.
Are you sure you want to continue connecting (yes/no/[fingerprint])? y
Please type 'yes', 'no' or the fingerprint: yes
Warning: Permanently added '180.64.82.103' (ECDSA) to the list of known hosts.
docker-test@180.64.82.103's password: 
Welcome to Ubuntu 20.04.4 LTS (GNU/Linux 5.13.0-35-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

22 updates can be applied immediately.
추가 업데이트를 확인하려면 apt list --upgradable 을 실행하세요.

Your Hardware Enablement Stack (HWE) is supported until April 2025.

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

 

리모트 서버(윈도우 노트북 -> 우분투 테스트 계정 접속)

윈도우 노트북 SecureCRT 에서 우분투 접속을 하려고 하니 아래와 같은 에러가 발생합니다. 

Key exchange failed.
No compatible key exchange method. The server supports these methods: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256

/etc/ssh/sshd_config 를 수정 해서 문제를 해결하겠습니다. 

 

vi /etc/ssh/sshd_config

KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +aes128-cbc

systemctl restart sshd

위 작업을 수행하니 이제 정상 접속이 되고 있네요 

 

728x90
반응형

+ Recent posts