JetBrains IDE인 PyCharm, GoLand, IntelliJ 등은 SFTP 프로토콜을 사용하여 원격 서버의 파일을 탐색하고, 복사하고, 편집할 수 있습니다. IDE와 Teleport를 통합하면 제3자 클라이언트를 사용하지 않고도 원격 기계로 파일을 복사할 수 있습니다.
이 가이드는 Teleport와 JetBrains IDE를 사용하여 SFTP로 파일에 접근하는 방법을 설명합니다.
필수조건
-
실행 중인 Teleport 클러스터 버전 이상. Teleport를 시작하려면, 가입하기 위해 무료 평가판에 등록하거나 데모 환경 설정하기를 참조하세요.
-
tctl
관리 도구와tsh
클라이언트 도구.tctl
과tsh
다운로드에 대한 지침은 설치를 방문하세요.
- PyCharm, IntelliJ, GoLand 등과 같은 JetBrains IDE. 전체 JetBrains IDE 목록은 제품에서 확인하세요.
- 하나 이상의 Teleport SSH 서비스 인스턴스. 아직 설정하지 않았다면, 서버 액세스 시작 가이드를 읽고 방법을 알아보세요.
1/3단계. 처음 설정하기
로컬 SSH 클라이언트를 설정하여 서버에 접근하고, --proxy
플래그에 Teleport Proxy Service의 주소를 지정하세요 (예: Teleport Cloud 사용자의 경우 mytenant.teleport.sh
).
프록시에 로그인 하기:
tsh login --proxy proxy.foo.example.com --user alice프록시용 OpenSSH 구성 생성하기:
tsh config --proxy proxy.foo.example.com
결과 구성 스니펫을 아래 경로에 있는 SSH 구성 파일에 추가하세요:
$HOME/.ssh/config
%UserProfile%\.ssh\config
Windows에서 PowerShell을 사용하여 SSH 구성을 작성하는 경우, 일반 셸 리디렉션이 잘못된 인코딩으로 파일을 쓸 수 있습니다. 제대로 작성되도록 하려면 다음을 시도하세요:
tsh.exe config | out-file .ssh\config -encoding utf8 -append
원하는 서버에 다음 명령을 사용하여 연결할 수 있어야 하며, user
를 서버에서 사용할 사용자 이름으로 바꾸세요:
ssh user@[server name].[cluster name]
이전에 생성한 SSH 구성은 SSH 클라이언트에 tsh proxy ssh
를 실행하여 Teleport 클러스터 내 서버에 접근하도록 지시합니다.
그러나 yourtenant.teleport.sh
에서 Teleport Proxy Service에 대해 ssh
명령을 실행하면 오류가 발생합니다.
OpenSSH 서버의 포트 번호를 포함해야 하며, 기본값은 22
입니다.
그렇지 않으면 오류가 발생할 수 있습니다.
OpenSSH 가이드를 참조하여 더 많은 정보를 확인하세요.
OpenSSH 서버에 연결하는 예:
ssh -p 22 user@[server name].[cluster name]
2/3단계. JetBrains IDE 구성하기
IDE를 열고 도구
-> 배포
-> 원격 호스트 탐색
으로 이동하세요.
그런 다음 왼쪽 상단 모서리에 있는 더하기 기호를 클릭하여 새 서버를 추가하세요.
새 서버의 이름을 입력하세요.
위 그림과 같이 SSH 구성
옆의 세 점을 클릭하세요.
왼쪽 상단의 더하기 기호를 클릭하여 새 구성을 생성하고 다음 정보를 제공합니다:
호스트
- Teleport 서버의 이름.포트
- Teleport 서버의 SSH 포트 (기본값 3022
또는 OpenSSH 서버의 경우22
).사용자 이름
- 시스템 사용자 이름.
인증 유형
으로 OpenSSH 구성 및 인증 에이전트
를 선택합니다.
그런 다음 연결 테스트
를 클릭할 수 있습니다.
3/3단계. 원격 호스트 탐색하기
SSH 구성 창을 닫은 후 IDE에서 원격 호스트
메뉴를 볼 수 있어야 합니다.
Teleport의 인증서는 꽤 빨리 만료되며, 만료된 후 SSH 시도는 다음과 같은 오류로 실패합니다:
alice@proxy.foo.example.com: Permission denied (publickey).
ERROR: exit status 255
kex_exchange_identification: Connection closed by remote host
이 오류가 발생하면 tsh login
을 재실행하여 로컬 인증서를 갱신하세요.
다음 단계
OpenSSH 클라이언트 사용하기
이 가이드는 tsh config
를 사용합니다.
추가 정보를 위해 전용 가이드를 참조하세요.