리눅스/유닉스 SSH, PingFTP, 텔넷 통신 명령어

⚡ 스마트 요약

SSH와 같은 Linux 통신 명령어 PingFTP와 Telnet을 사용하면 모든 Linux 또는 Unix 시스템의 터미널에서 원격 시스템에 연결하고, 네트워크 연결 가능성을 테스트하고, 파일을 전송하고, 서버를 직접 관리할 수 있습니다.

  • 🔐 SSH : Secure Shell은 TCP 포트 22의 암호화된 채널을 통해 원격 시스템에 연결하여 서버 관리에 사용되던 안전하지 않은 Telnet을 대체합니다.
  • 📡 Ping: The ping 이 명령은 호스트에 연결할 수 있는지 확인하고 연결 상태를 측정하기 위해 ICMP 패킷을 전송합니다.
  • 📁 FTP : 파일 전송 프로토콜(FTP)은 put 및 get과 같은 명령어를 사용하여 로컬 컴퓨터와 원격 컴퓨터 간에 파일을 업로드 및 다운로드합니다.
  • 💻 텔넷: Telnet은 23번 포트에서 원격 터미널 세션을 열지만, 비밀번호를 포함한 데이터를 평문으로 전송합니다.
  • 🔒 보안 : 자격 증명과 데이터를 전송 중에 암호화하기 때문에 Telnet이나 일반 FTP보다는 SSH와 SFTP를 사용하는 것이 좋습니다.
  • 🤖 AI 지원: AI 비서와 GitHub Copilot은 연결 명령을 생성하고 네트워크 오류를 진단하는 데 도움을 줄 수 있습니다.

리눅스 및 유닉스 통신 명령어 SSH, PingFTP 및 텔넷

작업하는 동안 Linux 운영 체제를 사용하는 동안 다른 장치와 통신해야 할 필요가 있을 수 있습니다. 이를 위해 사용할 수 있는 몇 가지 기본 유틸리티가 있습니다. 이러한 유틸리티는 네트워크, 다른 Linux 시스템 및 원격 사용자와 통신하는 데 도움이 됩니다. 아래 그림은 이러한 도구가 컴퓨터를 네트워크 및 원격 호스트에 연결하는 방법을 보여줍니다.

리눅스 통신 유틸리티는 컴퓨터를 네트워크 및 원격 시스템에 연결합니다.

그럼 하나씩 배워봅시다: SSH, PingFTP 및 텔넷.

SSH

SSH(Secure Shell)는 원격 컴퓨터에 안전하게 연결하는 데 사용되는 프로토콜입니다. Telnet과 비교했을 때, SSH는 클라이언트/서버 연결이 디지털 인증서를 통해 인증되고 비밀번호가 암호화되기 때문에 보안성이 뛰어납니다. 따라서 시스템 관리자들이 원격 Linux 서버를 제어하는 ​​데 널리 사용됩니다.

SSH를 사용하여 원격 Linux 시스템에 로그인하는 구문은 다음과 같습니다.

ssh username@ip-address or hostname

아래 스크린샷은 터미널에서 ssh 명령어를 사용하여 원격 컴퓨터에 연결하는 모습을 보여줍니다.

ssh 명령어를 사용하여 원격 Linux 시스템에 로그인하기

로그인 후에는 자신의 터미널에서 실행하는 것과 같은 모든 명령어를 실행할 수 있습니다. 예를 들어, `ls` 명령어를 사용하면 현재 디렉터리의 파일 목록을 볼 수 있습니다.

ls

ls 명령어의 출력 결과는 아래와 같습니다.

SSH 세션을 통해 디렉터리 내용을 나열하는 ls 명령의 출력입니다.

마찬가지로, pwd 명령어를 실행하면 현재 작업 디렉토리가 출력됩니다.

pwd

pwd 명령어는 아래와 같이 현재 작업 디렉토리의 경로를 반환합니다.

SSH 세션에서 현재 작업 디렉토리를 보여주는 pwd 명령의 출력입니다.

Ping

The ping 이 유틸리티는 일반적으로 서버 연결 상태가 양호한지 확인하는 데 사용됩니다. 이 명령어는 다음과 같은 용도로도 사용됩니다.

  • 네트워크 및 호스트 연결 분석
  • Tracking 네트워크 성능 및 관리
  • 하드웨어 및 소프트웨어 문제 테스트

명령어 구문:

ping hostname or IP-address

예를 들어, ping IP 주소를 통해 장치를 식별합니다.

ping 172.16.170.1

The ping 해당 명령어는 IP 주소로 패킷을 전송하고 아래와 같이 응답을 보고합니다.

출력 ping IP 주소로 패킷을 전송하는 명령

당신은 또한 수 ping 호스트를 도메인 이름으로 검색:

ping google.com

아래 출력 결과는 다음과 같습니다. ping 호스트 이름을 통해 호스트에 접근합니다.

출력 ping 도메인 이름을 통해 호스트에 도달하는 명령

여기서 시스템은 64바이트 데이터 패킷을 IP 주소(172.16.170.1) 또는 호스트 이름(www.google.com)으로 전송합니다. 데이터 패킷 중 하나라도 반환되지 않거나 손실되면 연결에 오류가 있음을 나타냅니다. 일반적으로 이 방법을 사용하여 인터넷 연결 상태를 확인합니다. Ctrl + c를 눌러 종료할 수 있습니다. ping 고리.

FTP

FTP는 파일 전송 프로토콜입니다. 컴퓨터 간 데이터 전송에 가장 선호되는 프로토콜입니다. 아래 그림은 로컬 컴퓨터와 원격 컴퓨터 간의 FTP 파일 전송을 나타냅니다.

로컬 컴퓨터와 원격 호스트 간의 FTP 파일 전송

당신이 사용할 수 FTP 받는 사람 :

  • 로그인하고 원격 호스트에 연결을 설정하세요.
  • 파일 업로드 및 다운로드
  • 디렉토리를 탐색하세요
  • 디렉토리의 내용을 탐색하세요

원격 호스트에 FTP 연결을 설정하는 구문은 다음과 같습니다.

ftp hostname or IP-address

이 명령어를 입력하면 아래와 같이 사용자 이름과 비밀번호를 사용하여 인증을 요청합니다.

FTP를 통해 사용자 이름과 비밀번호로 원격 호스트에 인증하기

연결이 설정되고 로그인되면 다음 명령어를 사용하여 다양한 작업을 수행할 수 있습니다.

Command 함수
DIR 원격 컴퓨터의 현재 디렉터리에 있는 파일을 표시합니다.
CD "디렉터리 이름" 원격 컴퓨터에서 "dirname" 디렉토리로 이동합니다.
파일 넣기 로컬 컴퓨터에서 원격 컴퓨터로 '파일'을 업로드합니다.
파일 가져오기 원격에서 로컬 컴퓨터로 '파일' 다운로드
종료 로그아웃

아래 스크린샷은 세션에서 실행되는 몇 가지 중요한 FTP 명령어를 보여줍니다.

터미널 세션에서 dir, get, put과 같은 FTP 명령어를 실행합니다.

텔넷

텔넷을 사용하면 다음과 같은 작업을 할 수 있습니다.

  • 원격 Linux 컴퓨터에 연결합니다
  • 원격으로 프로그램을 실행하고 관리 작업을 수행합니다.

이 유틸리티는 에서 제공하는 원격 데스크톱 기능과 유사합니다. Windows 컴퓨터. 아래 그림은 원격 Linux 컴퓨터에 대한 Telnet 연결을 보여줍니다.

원격 Linux 컴퓨터에 Telnet으로 연결하는 세션

이 유틸리티의 구문은 다음과 같습니다.

telnet hostname or IP-address

예를 들어, 자신의 컴퓨터(localhost)에 연결해 보세요.

telnet localhost

시연을 위해 사용자의 컴퓨터(localhost)에 연결하겠습니다. 아래와 같이 유틸리티에서 사용자 이름과 비밀번호를 입력하라는 메시지가 표시됩니다.

telnet 명령어를 사용하여 localhost에 연결하고 자격 증명을 입력하라는 메시지가 표시됩니다.

인증이 완료되면 기존 터미널에서처럼 명령어를 실행할 수 있습니다. 단, 원격 호스트에 연결된 경우 명령어가 로컬 컴퓨터가 아닌 원격 컴퓨터에서 실행된다는 점이 다릅니다. 'logout' 명령어를 입력하면 Telnet 연결을 종료할 수 있습니다.

SSH가 Telnet을 대체한 이유는 무엇일까요?

가장 오래된 원격 접속 도구 중 하나인 텔넷은 사용자가 입력하는 모든 내용(사용자 이름과 비밀번호 포함)을 포트 23을 통해 평문으로 전송합니다. 따라서 해당 트래픽을 가로채는 사람은 누구나 자격 증명을 읽을 수 있으므로 공용 인터넷에서 텔넷은 안전하지 않습니다. SSH는 바로 이러한 취약점을 해결하기 위해 설계되었습니다.

SSH는 여러 중요한 측면에서 Telnet보다 우수합니다.

  • 암호화: SSH는 22번 포트를 통해 전체 세션을 암호화하므로 비밀번호와 데이터는 전송 중에 읽을 수 없습니다.
  • 입증: SSH는 디지털 키를 사용하여 서버를 인증하며, 비밀번호보다 강력한 키 기반 로그인을 지원합니다.
  • Integrity: SSH는 데이터 전송 중에 데이터 스트림이 변조되었는지 여부를 감지합니다.

이러한 보호 조치 덕분에 시스템 관리자는 이제 SSH를 사용하여 원격 Linux 서버를 관리하며, Telnet은 주로 빠른 테스트나 신뢰할 수 있는 내부 네트워크에서만 사용됩니다.

SSH, PingFTP와 Telnet 비교

각 유틸리티는 링크 테스트부터 파일 전송, 원격 세션 실행에 이르기까지 다양한 통신 문제를 해결합니다. 아래 표는 각 유틸리티의 기능을 비교하여 적합한 도구를 선택할 수 있도록 도와줍니다.

유틸리티 목적 프로토콜 기본 포트 암호화
SSH 안전한 원격 로그인 및 관리 TCP(SSH) 22 가능
Ping 호스트에 연결할 수 있는지 여부를 테스트하고 지연 시간을 측정합니다. ICMP 없음(포트리스) 적용 할 수 없음
FTP 호스트 간 파일 전송 TCP(FTP) 21 (데이터의 경우 20) 아니요 (일반 FTP)
텔넷 원격 터미널 액세스 TCP(텔넷) 23 아니

인터넷에 노출되는 모든 항목에 대해서는 암호화된 옵션을 선택하십시오. 원격 세션에는 SSH를, 파일 전송에는 SFTP 또는 SCP(둘 다 SSH를 통해 실행됨)를 사용하십시오.

자주 묻는 질문

FTP는 파일과 비밀번호를 평문으로 전송하므로 네트워크를 모니터링하는 사람은 누구나 내용을 읽을 수 있습니다. 반면 SFTP는 암호화된 SSH 연결을 통해 22번 포트에서 동일한 작업을 수행하여 사용자 자격 증명과 데이터를 보호합니다. 인터넷을 통한 모든 데이터 전송에는 SFTP가 더 안전한 선택입니다.

SCP(Secure Copy)는 암호화된 SSH 채널을 통해 호스트 간에 파일을 복사하므로 SFTP처럼 안전합니다. 속도는 더 빠르지만 파일 복사만 가능하고 파일 목록을 보거나 이름을 바꾸거나 삭제할 수 없다는 점에서 제약이 있습니다. 최근 가이드에서는 SCP 대신 SFTP 또는 rsync를 사용할 것을 권장합니다.

SSH 또는 Telnet 세션을 종료하고 로컬 터미널로 돌아가려면 `exit` 또는 `logout`을 입력하고 Enter 키를 누르십시오. 세션이 멈춘 경우 SSH는 이스케이프 시퀀스도 허용합니다. Enter 키를 누른 다음 물결표(~)와 마침표(.)를 입력하여 연결을 강제로 종료할 수 있습니다.

그렇지 않습니다. Ping ICMP는 포트 번호 없이 작동하는 네트워크 계층 프로토콜입니다. ICMP 에코 요청을 보내고 에코 응답을 기다립니다. TCP나 UDP에 의존하지 않기 때문에 방화벽에서 다른 서비스는 정상적으로 접속 가능하더라도 ICMP를 차단하는 경우가 있습니다.

기본적으로 Linux는 ping Ctrl + c를 눌러 중지할 때까지 실행됩니다. 고정된 횟수를 보내려면 -c 옵션에 숫자를 추가하세요. 예를 들어, ping -c 4 google.com은 패킷 4개를 전송한 후 자동으로 중지되므로 스크립트 및 상태 점검 내에서 유용합니다.

"연결 거부됨" 오류는 일반적으로 원격 호스트에서 SSH 서비스가 실행되고 있지 않거나 방화벽에서 22번 포트를 차단하고 있음을 의미합니다. sshd가 설치 및 시작되었는지 확인하고, 호스트 주소와 포트 번호를 확인하고, 네트워크 규칙에서 연결이 허용되는지 확인한 후 다시 시도하십시오.

머신러닝 도구는 스캔할 수 있습니다. ping 결과, SSH 로그 및 패킷 캡처를 통해 사람이 놓칠 수 있는 지연 급증, 로그인 실패 및 이상 징후를 찾아냅니다. 또한 AI 비서는 모호한 오류 메시지를 설명하고 다음 진단 명령을 제안하여 네트워크 문제 해결 속도를 높여줍니다.

예. GitHub 부조종사 SSH 로그인 자동화, FTP 일괄 전송 및 예약 작업을 수행하는 셸 스크립트를 작성할 수 있습니다. ping 이 프로그램은 입력하는 동안 명령 플래그와 루프를 제안하지만, 실행하기 전에 생성된 연결 및 자격 증명 처리 방식을 항상 검토해야 합니다.

이 게시물을 요약하면 다음과 같습니다.