Infra & Security Eng/Linux Fundamentals

Ubuntu 서버 초기 구축 가이드: 고정 IP 설정부터 SSH 원격 접속 및 보안 최적화까지

엔지니어 E 2026. 2. 10. 19:01
반응형

1. 우분투를 실행하기 전에 nat(192.168.11.191) ip 로 리눅스를 설치해야 한다 
* vmware에서 우분투 iso 파일을 넣어 리눅스를 설치 - ip 세팅을 한다

* 설치 단계에서 유선 연결 클릭 - 업데이트 진행 - 맨 아래 아이콘(재활용 모양 아이콘) 클릭 해서 settings - Wired - netplan-zz-all-en - 설정 아이콘 클릭 - 우분투 바탕화면에서 ctrl+alt+t 클릭 - ping 8.8.8.8 성공 하면 된다

2. 우분투 설치 후 방화벽이 막혀있을 수 있으므로 명령어로 뚫어준다 * 우분투를 방화벽 막혀 있지 않음
# sudo ufw allow ssh 또는 
# sudo ufw allow 22/tcp

3. SSH 서버 설치 및 활성화(우분투용 명령어 사용)
sudo apt list --installed openssh-server (설치 확인) 
sudo apt update (패키지 업데이트)
sudo apt install openssh-server (설치 안 되어 있을 시)
sudo systemctl start ssh
sudo systemctl status ssh (상태 확인)

4. 루트(root) 계정 비밀번호 생성
우분투는 처음 설치 시 루트 계정이 잠겨 있으므로 직접 활성화 해야 함 
sudo passwd root 
* 루트로 붙으려면 su - root 한 다음 비밀번호 입력하면 됨

5. SSH 환경 설정 수정 (/etc/ssh/sshd_config) 
/PermitRootLogin을 입력해 해당 줄을 찾고
#PermitRootLogin prohibit-password 라고 된줄의 #을 지우고, 뒤의 내용을 yes로 고친다 
PermitRootLogin yes
*vi 편집기가 잘 안될시 nano /etc/ssh/sshd_config로 수정함 

6. systemctl restart ssh 명령어로 설정을 적용

* 혹시 환경 설정 안될시 프로그램 삭제 후 다시 진행 apt purge openssh-server -y 와 rm -rf /etc/ssh 
* root 계정에서 명령어 사용 한다면 sudo 안 써도 됨



7. 윈도우(원격지)에서 원격으로 우분투 접속해보기(확인작업)
cmd 명령어 입력창에서 - ssh root@192.168.11.191 로 접속하면 완료 

* 모바엑스텀(Mobaxterm)에서는 rocky 리눅스처럼 ip 입력해서 접속하면 됨

 

참고사항 


# ssh birochya@192.168.123.101
The authenticity of host '192.168.123.101 (192.168.123.101)' can't be established.
RSA key fingerprint is f4:48:d8:7a:0a:45:57:92:48:66:af:01:70:4f:92:f0.
Are you sure you want to continue connecting (yes/no)?   
yes
Warning: Permanently added '192.168.123.101' (RSA) to the list of known hosts.
birochya@192.168.123.101's password: 암호입력
# ssh birochya@192.168.123.101 --> 리눅스에서 다른 리눅스를 접속 할때 이 명령어를 사용

# vi /etc/ssh/sshd_config
#Port 22 -- 바꾸고 싶으면 주석처리 (#) 된거 지우고 포트번호를 수정하면 됨
#Protocol 2,1 -- 2를 먼저 사용하고 접속이 안되면 1로 바꿔서 접속을 시도함
#ListenAddress -- 나머지 ip로 접속이 되지 않음
#PermitRootLogin yes -- 루트로 로그인하는 것을 허용할 것인지
#PasswordAuthentication yes -- 패스워드갖고 접속하는것을 허용할 것인지 ---> 이 설정을 안하면 개인키로 접속해야함
#PermitEmptyPasswords no -- 패스워드 없는 계정을 접속할 까요(public, anonymous 계정) 라는 뜻 ---> 요새는 이런 계정이 없음  


 sshd_config를 이용한 사용자 제한
• AllowUsers [유저] [유저] … Allowgroups  [그룹] [그룹] …- 지정된 유저나 그룹만 접속 가능
• DenyUsers [유저] [유저] … DenyGroups [그룹] [그룹] …- 지정한 유저나 그룹은 접속 불가

IP 제한
• libwrap.so- 사용하지 않아 hosts.[allow|deny] 사용이 불가하다.- 방화벽을 이용한다.
• hosts.deny 를 이용 제한- sshd : All except 192.168.123.
---> 요새는 ip 제한 하지 않고 있다  ---> 다 방화벽에서 함 ---> 보안상 ip설정, 방화벽설정 2곳 다 하는것 보다는 1곳에서 (방화벽) 하는게 보안에 더 좋음