[Linux] SSH

haryun·2022년 11월 14일
0

Linux

목록 보기
4/16
post-thumbnail

OpenSSH

오픈SSH(OpenSSH, OpenBSD Secure Shell)[a]는 시큐어 셸 (Secure Shell, SSH) 프로토콜을 이용하여 암호화된 통신 세션을 컴퓨터 네트워크에 제공하는 컴퓨터 프로그램의 모임이다. SSH 커뮤니케이션스 시큐리티가 제공하는 사유 시큐어 셸 소프트웨어 제품군을 대체할 목적으로 오픈 소스로 작성되었다. 참조

네트워크를 통해 원격 호스트에 접속하기 위하여 SSH를 사용한다.
SSH는 암호화 키를 사용하여 plaintext를 암호화, 복호화하여 데이터를 보호한다.

1. openSSH 설치 및 확인

- ubuntu
$ apt install openssh-server 

필요한 경우 설치
$ apt install openssh-client 

대부분의 환경에서는 openssh-client가 기본적으로 설치되어있다.

$ systemctl status ssh

ssh의 실행 상태를 확인하고 필요한 경우 systemctl stop ssh 또는 systemstl start ssh 명령을 사용한다.

부팅시 자동으로 실행되도록 지정해야하는 경우 systemctl enable ssh 명령으로 활성화하고, disable로 비활성화 할 수 있다.

2. 원격 서버에 로그인하기

lxc 컨테이너를 RUNNING상태로 전환한 뒤 해당 IP를 통해 접속한다.

$ ssh '접속할 서버의 계정'@'IP 주소'

3. 패스워드 없이 SSH 접속하기

3-1) 키 생성

클라이언트 서버에서 접속시 사용할 키를 생성한다.

$ ssh-keygen

이를 통해 RSA 알고리즘 기반의 키를 생성하였다. .ssh 디렉토리에 접근하면 id_rsa, id_rsa.pub 파일을 확인할 수 있다.

3-2) 키 복사

$ ssh-copy-id '로그인 할 서버의 사용자명'@'IP주소'

키를 타겟 서버에 자동으로 복사해주는 명령이다.

패스워드를 입력하지 않고 접속할 수 있게 되었다.

4. SCP 사용하기

SCP는 SSH 프로토콜을 사용해 파일과 디렉토리를 원격 서버로 복사한다.

$ scp '복사할 파일 경로' '원격 서버의 사용자명'@'IP주소':'복사한 파일을 저장할 경로'

로컬 서버에 있는 파일을 원격 접속 서버에 복사해보았다.
원격 접속한 서버에서 해당 파일을 정상적으로 확인할 수 있었다.

(🤔 permission denined 에러가 난다면 경로의 접근권한을 확인해보자!)

ssh-copy-id -i .ssh/id_rsa.pub '원격 서버의 사용자명'@'IP주소' 명령을 통해 쉽게 키를 복사할 수도 있다.

0개의 댓글