SSH 톺아보기
원격접속을 통해 윈도우에서 리눅스 개발환경을 사용해보자
SSH란?
- 안전한 원격 접속 기술
- Secure Shell
Shell : 사용자로부터 명령을 받아 그것을 해석하고 실행하는 인터페이스를 의미
- 원격 시스템에 안전하게 접속하고 네트워크를 통해 데이터를 안전하게 전송하기 위한 프로토콜 및 애플리케이션
- 기존의 원격접속 기술인 '텔넷(Telnet)'은 암호화가 되지 않았었음
>> 패킷 분석을 하면 옮겨지는 pw나 파일 내용등을 탈취할 수 있다 - 공개키 암호화(RSA)로 세션 생성
- 클라이언트와 서버는 각각 자신의 공개키와 개인키를 보유(키페어)
공개키는 누구나 접근 가능하다.
- 해당 키페어는 한쪽이 암호화를 했으면 반대쪽이 복호화를 함
- 중간에 탈취를 방지하기 위해 전자서명 레이어 추가
* 세션 연결 방식
1. 암호화 : 데이터를 수신자(서버)의 공개키로 암호화
2. 전자서명 : 암호화한 데이터를 송신자(클라이언트)의 비밀키로 암호화
3. 전송
4. 서명검증 : 수신자는 송신자의 공개키로 복호화
5. 복호화 : 자신의 비밀키로 데이터를 복호화 - 세션 연결 이후에는 대칭키(세션키) 사용
- 빠르고 간단한 대칭키(세션키)를 이용해서 지속적인 암호 통신
OpenSSH 사용준비
- 가장 널리 사용되는 SSH 클라이언트 중 하나
- 설치하기
1. Windows 운영 체제에서 "설정" 또는 "제어판"을 연다.
2. "앱" 또는 "프로그램" 옵션을 선택
3. "Windows 기능 켜기/끄기" 또는 "프로그램 및 기능"을 선택
4. 목록에서 "OpenSSH 클라이언트"를 찾아 선택
5. "확인" 또는 "설치" 버튼을 클릭하여 설치를 진행 - 설치확인
커맨드라인에서 'ssh -V'입력
>> 설치완료시 버전출력
>> 설치실패시 'The term 'ssh' is not recognized...' 출력 - SSH 연결
1. 하단의 명령어 입력한다.
ssh [원격 계정]@[원격 ip] -p [변경할 포트]
* p: 원격 호스트에 연결할 포트를 지정하는 옵션
2. 비밀번호를 입력하면 연결이 완료된다.
VS Code 사용준비
- VS Code는 추가적인 구성을 갖춘 경우 SSH 연결을 지원한다
>> 로컬에서 원격 서버의 코드를 효율적으로 편집할 수 있다. - 사용준비
1. 원격 서버에 SSH 서버를 설치하고 구성한다.
- 대부분의 리눅스 기반 시스템에는 OpenSSH가 기설치되어 있음
- 원격 접속을 허용하고 사용자 계정을 설정한다.
2. VS Code의 "Extensions"에서 "Remote - SSH"를 찾아 설치한다. - SSH 연결
1. 왼쪽 하단의 상태 표시줄에서 "><" 아이콘(연결 및 작업 영역 선택)을 클릭
또는 Ctrl + Shift + p
2. "Connect to Host" 선택 후 "Configure SSH Hosts..." 선택
>> C:/User에 있는 설정파일 선택
3. 하단의 코드와 같은 양식으로 연결정보 입력 후 저장
*SSH의 기본 포트정보는 22번이다(기본지정시 생략가능)
4. Ctrl + Shift + p 진입 후 "Remote-SSH: Connect to Host..." 선택
5. 운영체제 리눅스 선택 > 원하는 Host선택 > pw입력
>> 연결완료
6. 폴더열기를 누르면 입력창 형태로 디렉토리를 탐색할 수 있다.
>> 원하는 폴더를 찾아 연다
Host [표기될이름]
HostName [IP 주소]
User [계정명]
Port [포트 번호]

'다양한 기술들 > Linux 관련' 카테고리의 다른 글
| [Linux] 명령어 작성 팁 / 기본 명령어들(파일 및 동작 관련) (0) | 2024.07.23 |
|---|---|
| [Linux] 파일 권한과 소유자 다루기 (0) | 2024.07.23 |
| [Shell Script] 명령어 순차 실행 (0) | 2024.03.19 |
| [Linux] 개요 / CLI 개념 및 명령어, 환경변수 (0) | 2023.06.21 |
댓글