12.4. 더 많은 Than a Secure Shell


보안 명령줄 인터페이스는 SSH를 사용하는 여러 방법의 시작일 뿐입니다. 적절한 대역폭을 고려하여 X11 세션을 SSH 채널을 통해 전달할 수 있습니다. 또는 TCP/IP 전달을 사용하여 이전에 시스템 간 비보안 포트 연결을 특정 SSH 채널에 매핑할 수 있습니다.

12.4.1. X11 전달

SSH 연결을 통해 X11 세션을 시작하려면 다음 양식에서 명령을 사용합니다.

ssh -Y username@hostname

예를 들어 USER 를 사용자 이름으로 사용하여 이름이 Penguin .example.com 인 원격 시스템에 로그인하려면 다음을 입력합니다.

~]$ ssh -Y USER@penguin.example.com
USER@penguin.example.com's password:

X 프로그램이 보안 쉘 프롬프트에서 실행되면 SSH 클라이언트와 서버는 새 보안 채널을 생성하고 X 프로그램 데이터가 해당 채널을 통해 클라이언트 시스템으로 투명하게 전송됩니다.

X11 전송이 수행되기 전에 X Window 시스템을 원격 시스템에 설치해야 합니다. 다음 명령을 root 로 입력하여 X11 패키지 그룹을 설치합니다.

~]# yum group install "X Window System"

패키지 그룹에 대한 자세한 내용은 9.3절. “패키지 그룹 작업” 을 참조하십시오.

X11 전송은 매우 유용할 수 있습니다. 예를 들어 X11 전달을 사용하여 인쇄 설정 유틸리티의 안전하고 대화형 세션을 만들 수 있습니다. 이렇게 하려면 ssh 를 사용하여 서버에 연결하고 다음을 입력합니다.

~]$ system-config-printer &

인쇄 설정 도구가 표시되므로 원격 사용자가 원격 시스템에서 안전하게 인쇄를 설정할 수 있습니다.

12.4.2. 포트 전달

SSH는 포트 전달을 통해 안전하지 않은 TCP/IP 프로토콜을 보호할 수 있습니다. 이 기술을 사용하는 경우 SSH 서버는 SSH 클라이언트에 대한 암호화된 컨덕션이 됩니다.

포트 전달은 클라이언트의 로컬 포트를 서버의 원격 포트에 매핑하여 작동합니다. SSH는 서버의 모든 포트를 클라이언트의 모든 포트에 매핑할 수 있습니다. 포트 번호는 이 기술이 작동하기 위해 일치할 필요가 없습니다.

참고

1024 미만의 포트에서 수신 대기하도록 포트 전달을 설정하려면 루트 수준 액세스가 필요합니다.

localhost 에서 연결을 수신 대기하는 TCP/IP 포트 전달 채널을 생성하려면 다음 양식에서 명령을 사용합니다.

ssh -L local-port:remote-hostname:remote-port username@hostname

예를 들어 암호화된 연결을 통해 POP3 을 사용하여 mail.example.com 이라는 서버의 이메일을 확인하려면 다음 명령을 사용합니다.

~]$ ssh -L 1100:mail.example.com:110 mail.example.com

클라이언트 시스템과 메일 서버 간에 포트 전달 채널이 배치되면 POP3 메일 클라이언트에 localhost 에서 포트 1100 을 사용하여 새 이메일을 확인합니다. 클라이언트 시스템의 포트 1100 으로 전송된 모든 요청은 mail.example.com 서버로 안전하게 전달됩니다.

mail.example.com 이 SSH 서버를 실행하지 않지만 동일한 네트워크의 다른 시스템이 있는 경우 SSH를 사용하여 연결의 일부를 보호할 수 있습니다. 그러나 약간 다른 명령이 필요합니다.

~]$ ssh -L 1100:mail.example.com:110 other.example.com

이 예에서 클라이언트 머신의 포트 1100 의 POP3 요청은 포트 22 에서 SSH 서버인 other.example.com 으로의 SSH 연결을 통해 전달됩니다. 그런 다음 other.example.commail.example.com 의 포트 110 에 연결하여 새 이메일을 확인합니다. 이 기술을 사용하는 경우 클라이언트 시스템과 other.example.com SSH 서버 간의 연결만 안전합니다.

OpenSSH 제품군은 UNIX 도메인 소켓의 로컬 및 원격 포트 전달 기능도 제공합니다. 네트워크를 통해 UNIX 도메인 소켓을 다른 시스템으로 전달하려면 ssh -L local-socket:remote-socket username@hostname 명령을 사용합니다. 예를 들면 다음과 같습니다.

~]$ ssh -L /var/mysql/mysql.sock:/var/mysql/mysql.sock username@hostname

포트 전달을 사용하여 네트워크 방화벽을 통해 정보를 안전하게 가져올 수도 있습니다. 방화벽이 표준 포트(즉, 포트 22)를 통해 SSH 트래픽을 허용하도록 구성되어 있지만 다른 포트에 대한 액세스를 차단하면 기존 SSH 연결을 통해 통신을 리디렉션하여 차단된 포트를 사용하는 두 호스트 간 연결이 계속 가능합니다.

중요

포트 전달을 사용하여 이러한 방식으로 연결을 전달하면 클라이언트 시스템의 모든 사용자가 해당 서비스에 연결할 수 있습니다. 클라이언트 시스템이 손상되면 공격자도 서비스 전달에 액세스할 수 있습니다.

포트 전달과 관련된 시스템 관리자는 /etc/ssh/sshd_config 에서 AllowTcpForwarding 행에 No 매개 변수를 지정하고 sshd 서비스를 다시 시작하여 서버에서 이 기능을 비활성화할 수 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.