[Linux] 리눅스 서버 설치 + VS Code에 SSH 연결
🖥️

[Linux] 리눅스 서버 설치 + VS Code에 SSH 연결

카테고리
📖 Docs
작성자
박용성박용성
작성일
2024년 06월 02일
태그
C
Linux
floatFirstTOC: right

🖥️ 시작하며

운영체제를 배우면서 리눅스 커널도 분석하고, 개인적으로 궁금한 것도 실험해보고 싶은데 도커로는 한계가 있어서 리눅스 서버를 설치한 후, 직접 ssh에 연결해서 진행해보려고 시작하게 되었습니다.
 

📌 1. Ubuntu Linux Server 설치

 
위 링크에서 다운로드 받으면 됩니다. 헌데 저는 맥북 유저이고, 패러렐즈를 사용하기 때문에 이를 중점으로 포스팅하려고 합니다. 맥북 유저는 ARM 버전을 다운로드 받아야 합니다.
 

1-0. 설치 순서

쉽습니다. 우선 패러렐즈에서 하라는 대로 합시다.
notion image
notion image
설치가 완료되면, 아래 사진이 보일 것입니다.
 

1-1. English 선택

notion image
다른 언어에 자신이 있는 분들은 다른 언어로 하셔도 무방합니다.
 

1-2. Done 선택

notion image
 

1-3. Ubuntu Server 선택

2번째의 Ubuntu Server (minimized) 를 선택해도 무방하지만 저는 그냥 기본으로 했습니다.
notion image
 

1-4. Done 선택

기본값으로 진행합니다.
notion image
 

1-5. Done 선택

기본값으로 진행합니다. 프록시 서버 설정하실 분들은 하셔도 무방합니다.
notion image
테스트를 완료하면 다시 Done 을 선택합니다.
 

1-6. Done 선택

기본값으로 진행합니다.
notion image
 

1-8. ubuntu-lvubuntu-vg 크기만큼 변경

남는 공간이 없도록 합니다.
notion image
notion image
 

1-9. 개인 설정

notion image
 

1-10. Continue

notion image
 

1-11. Done , 다음도 Done

저는 따로 설치하려고 여기선 넘겼습니다.
notion image
notion image
notion image
이제 설치는 끝났습니다. 리붓하고 다음 단계로 넘어갑시다.
 

📌 2. 초기 설정

1.9에서 설정해준 값으로 로그인을 해 줍니다.
notion image
 

2-1. 관리자 권한 활성화

sudo passwd root
notion image
 

2-2. 기본 패키지 설치

sudo apt update sudo apt install build-essential vim openssh-server net-tools
notion image
notion image
 

2-3. SSH 활성화

sudo systemctl enable ssh sudo systemctl start ssh
notion image
 

💡 sudo vi /etc/ssh/sshd_config 수정

  • Port=22 : # 제거
  • #PermitRootLogin prohibit-password : # 제거, 값을 yes로 변경
sudo vi /etc/ssh/sshd_config
notion image
 

2-4. ifconfig 로 IP 확인

enp0s5: flag .... int [IP 주소] netmask 255.255.255.0 ...
여기서 [IP주소] 를 메모해둡니다.
 
이제 리눅스에서 할 일은 끝났습니다.
 

3. VS Code에서 SSH 연결

3-1. Remote - SSH 설치

notion image
 

3-2. Command + Shift + PRemote - 호스트에 연결 선택

notion image
 

3-3. 새 호스트 추가 선택 후

여기에 ssh [사용자명]@[아까 기록한 IP 주소] 를 입력합니다.
notion image
이후 /Users/사용자명/.ssh/config 선택합니다.
 
이후 구성 열기 후, 암호를 입력하고 진입하면 됩니다.
 

3-번외. Public Key 발급

항상 접속할때마다 비밀번호를 치는 것은 귀찮으므로 키를 발급해줍시다.
 
맥북의 터미널에서 ssh-keygen 을 입력해줍니다.
notion image
 
아래 명령어를 입력해줍니다.
ssh [공개키 주소] [서버주소]:/home/username/.ssh/authorized_keys
notion image
 
이러면 완료!
 

4. 리눅스에 공유 폴더 설정

저는 로컬 파일을 리눅스에서 열어볼 일이 많을 것 같아 공유 폴더를 설정하기로 했습니다.
 
파일 공유를 활성화하고, 고급 옵션에서 Windows 파일 공유 를 활성화해야 합니다.
리눅스에서 공유하려했는데 왜 Windows인가 해서 안켰다가 3시간동안 해맸습니다. ..
notion image
notion image

4-1. 로그인 정보 저장

마운트 정보를 저장하기 전에, 사용자 이름과 비밀번호를 /etc/fstab 파일에 직접 넣는 대신, 보안을 위해 별도의 자격 증명 파일을 만드는 것이 좋습니다.
 
  1. 자격 증명 파일 생성:
      • 새로운 자격 증명 파일을 생성합니다.
        • sudo nano /etc/smbcredentials
      • 사용자 이름과 비밀번호 입력합니다.
        • username=yourusername password=yourpassword
      • 보안을 강화합니다.
        • sudo chmod 600 /etc/smbcredentials
 

4-2. /etc/fstab 파일에 마운트 정보 추가

  1. /etc/fstab 파일 수정:
      • 다음 명령을 실행합니다.
        • sudo nano /etc/fstab
      • 파일의 맨 아래에 다음 줄을 추가합니다.
        • 여기서 nofail 옵션을 포함시켜 부팅 과정에서 이 마운트가 실패해도 시스템 부팅에는 영향을 주지 않도록 합니다.
          //[본인의 SMB IP주소]/[폴더] [리눅스 폴더] cifs credentials=/etc/smbcredentials,iocharset=utf8,sec=ntlmssp,nofail 0 0
        • credentials=/etc/smbcredentials: 자격 증명 파일 경로입니다.
        • iocharset=utf8: 문자 인코딩을 UTF-8로 지정합니다.
        • sec=ntlmssp: NTLMSSP 보안 메커니즘을 사용합니다.
        • nofail: 이 마운트가 실패해도 부팅 과정을 계속 진행합니다.
  1. 변경사항 저장 및 시스템 재부팅:
      • 시스템을 재부팅합니다.
        • sudo reboot
      • 재부팅 후에는 다음 명령으로 마운트가 성공적으로 이루어졌는지 확인할 수 있습니다.
        • df -h
           
           
      거의 6시간만에.. 드디어.. 성공..
      notion image
 

댓글

guest