서버 연결

oyoi·2025년 1월 2일

MAI&CV

목록 보기
3/3
post-thumbnail

SSH 서버 연결

0. SSH란

SSH = Secure SHell는 네트워크 상에서 원격 서버와 안전하게 통신하기 위한 프로토콜이다. SSH는 암호화를 사용해 통신 데이터를 보호한다.

0.1. SSH의 주요 구성 요소

  • SSH 클라이언트
    : 원격 서버에 접속하기 위해 사용하는 프로그램.
    명령어를 통해 서버에 접속하거나 파일을 전송한다.
    예: ssh, scp, sftp.
  • SSH 서버
    : 원격 접속을 허용하는 시스템.
    서버는 SSH 클라이언트로부터 접속 요청을 받고 인증을 처리한다.
  • SSH 키
    : 비밀번호 기반 인증 외에 공개 키 암호화 방식으로 인증을 수행한다. Private Key와 Public Key를 사용한다.

0.2. SSH 인증 방식

  1. 비밀번호 기반 인증
    서버에 접속할 때 사용자 이름과 비밀번호를 입력하여 인증.

  2. 키 기반 인증
    비밀번호 없이 키를 사용한 인증.
    - Public Key: 서버에 저장.
    - Private Key: 클라이언트가 소유.

0.3. SSH의 동작 원리

  1. 클라이언트-서버 통신 시작
    : 클라이언트가 SSH 서버에 접속 요청을 보낸다.
  2. 서버 인증
    : 서버는 자신의 신원을 증명하기 위해 고유한 Host Key를 클라이언트에 보낸다.
  3. 사용자 인증
    : 클라이언트는 비밀번호나 개인 키를 사용하여 서버에 인증을 요청한다.
  4. 암호화된 세션 생성
    : 인증이 완료되면 클라이언트와 서버 간의 모든 통신은 암호화된다.

1. SSH 키 생성 및 로그인

1.1. install WSL2

  • Execute Windows PowerShell as an administrator.
  • activate function [Microsoft-Windows-Subsystem-Linux].
    dism.exe /online /enable-feature / featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  • activate function [VirualMachinePlatform].
    dism.exe /online /enable-feature / featurename:VirtualMachinePlatform /all /norestart
  • reboot the PC.
  • Update WSL2 Linux kernel by clicking the link below.
    https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
  • Install Ubuntu at the Microsoft Store (Ubuntu or Ubuntu LTS version).
  • Execute the installed Ubuntu.
  • Insert ID (your name; recommended).

1.2. Server SSH key generation

  • Create " ssh" folder in the user's home directory (~).
    mkdir .ssh
  • Change "ssh" folder permissions to 700.
    chmod 700 . ssh
  • Go inside the ".ssh" folder and generate ssh keys.
    (When the input prompt appears, continue typing ENTER.)
    cd .sshssh-keygen
  • Change "id_rsa" permissions to 600.
    chmod 600 id_rsa
  • Give both keys ("id_rsa" & "id_rsa-pub") to a server administrator (using a USB) and ask her to create your server account.

id_rsa: private key → client
id_rsa.pub: public key → server


DO NOT SHARE YOUR PERSONAL KEYS WITH OTHERS.
SENDING KEYS VIA EMAIL OR MESSENGER IS PROHIBITED.

1.3. Server log-in via terminal

ssh -p 12150 {your _account_id}@{server_IP_address}

DO NOT DELETE YOUR PRIVATE KEY FILE.
IT IS NEEDED WHEN LOGGING IN TO THE SERVER.

2. 서버 로그인

2.1. FileZilla

  • 이퀄라이저 아이콘 선택
  • 새 사이트 클릭
    → 호스트에 서버 IP 주소, 포트에 포트 넘버 기입
    → 로그온 유형 키파일, 찾아보기
  • Linux>Ubuntu>home>{username}>.ssh>id_rsa 열기

2.2. VSCode

  • private key 복사해서 홈 디렉토리에 붙여넣기
  • config 파일 작성

Host *
ServerAliveInterval 30
ServerAliveCountMax 5

Host s235
HostName {서버 ip 주소}
User {username}
IdentityFile ~/.ssh/id_rsa
Port {포트 넘버}

  • custom config 적용하기
    REMOTE>SSH>톱니바퀴>Settings (specify a custom configuration file)
  • config 파일 경로 붙여넣기

+) 랩실 규칙

  1. 가상환경은 홈 폴더에
  2. 데이터와 코드는 데이터 폴더에
profile
오이

0개의 댓글