반응형
ssh (Secure Shell)는 네트워크 상의 다른 컴퓨터에 안전하게 접속하기 위한 프로토콜이자 명령어입니다. 서버 관리, 원격 파일 전송 등 다양한 작업을 안전하게 수행할 수 있으며, 통신 내용은 암호화되어 해킹에 대한 위험을 최소화합니다. 주로 원격 서버에 접속하여 터미널을 통해 명령을 실행하거나 서버의 파일 시스템에 접근할 때 사용됩니다.
ssh 명령어의 기본 구조
ssh [옵션] 사용자이름@서버주소
- 사용자이름: 원격 서버의 사용자 계정
- 서버주소: IP 주소 또는 도메인 이름
- 옵션: 추가적인 설정을 위한 다양한 옵션
ssh 명령어 사용 예제
기본적인 원격 서버 접속
user@linux:~$ ssh john@192.168.1.10
실행 결과 (예시):
The authenticity of host '192.168.1.10 (192.168.1.10)' can't be established.
ECDSA key fingerprint is SHA256:abcdef1234567890.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.1.10' (ECDSA) to the list of known hosts.
john@192.168.1.10's password:
이 명령어는 192.168.1.10 IP 주소를 가진 원격 서버에 john 계정으로 접속을 시도합니다. 처음 접속 시 해당 서버의 공개 키를 신뢰할 것인지 묻는 메시지가 출력되며, "yes"를 입력하면 연결이 완료되고 비밀번호 입력을 요구합니다.
다른 포트를 이용한 접속
기본적으로 ssh는 포트 22를 사용하지만, 만약 서버가 다른 포트를 사용할 경우 -p 옵션으로 지정할 수 있습니다:
user@linux:~$ ssh -p 2222 john@192.168.1.10
여기서 2222 포트를 통해 접속하는 것을 의미합니다.
암호 없이 SSH 키를 이용한 로그인
- SSH 키 생성:
user@linux:~$ ssh-keygen -t rsa -b 4096
실행 결과 (예시):
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
SSH 키를 생성하면, 기본 경로인 /home/user/.ssh/id_rsa에 개인 키가 저장됩니다.
- 원격 서버에 공개 키 복사:
user@linux:~$ ssh-copy-id john@192.168.1.10
실행 결과 (예시):
john@192.168.1.10's password:
Now try logging into the machine, with "ssh 'john@192.168.1.10'", and check to make sure that only the key(s) you wanted were added.
이제 비밀번호 없이 원격 서버에 SSH 키를 사용하여 로그인할 수 있습니다.
원격 명령 실행
SSH를 통해 원격 서버에서 특정 명령을 실행하고 결과를 확인할 수 있습니다. 예를 들어, 원격 서버의 디렉토리 목록을 확인하려면 다음과 같이 명령어를 사용할 수 있습니다:
user@linux:~$ ssh john@192.168.1.10 'ls -l /home/john'
실행 결과 (예시):
total 4
drwxr-xr-x 2 john john 4096 Sep 27 12:00 documents
SSH 연결 끊기
원격 서버에서 작업을 완료한 후에는 exit 명령어를 통해 연결을 종료할 수 있습니다:
john@server:~$ exit
logout
Connection to 192.168.1.10 closed.
추가 옵션
- -i: 특정 키 파일을 지정하여 로그인할 때 사용합니다.
- -L: 로컬 포트 포워딩을 설정하여 네트워크 트래픽을 터널링할 수 있습니다.
- -C: 데이터를 압축하여 전송, 속도를 향상시킬 수 있습니다.
참고 사이트
반응형
'Linux' 카테고리의 다른 글
[리눅스] touch 명령어 완벽 가이드 사용법 (0) | 2024.09.29 |
---|---|
[리눅스] clear 명령어 완벽 가이드 사용법 (0) | 2024.09.29 |
[리눅스] alias 명령어 완벽 가이드 사용법 (0) | 2024.09.29 |
[리눅스] history 명령어 완벽 가이드 사용법 (0) | 2024.09.29 |
[리눅스] ip 명령어 완벽 가이드 사용법 (0) | 2024.09.28 |
[리눅스] ifconfig 명령어 완벽 가이드 사용법 (0) | 2024.09.27 |
[리눅스] ping 명령어 완벽 가이드 (1) | 2024.09.27 |
[리눅스] free 명령어 완벽 가이드 (0) | 2024.09.27 |