Infograb logo
JetBrains SFTP

JetBrains IDE인 PyCharm, GoLand, IntelliJ 등은 SFTP 프로토콜을 사용하여 원격 서버의 파일을 탐색하고, 복사하고, 편집할 수 있습니다. IDE와 Teleport를 통합하면 제3자 클라이언트를 사용하지 않고도 원격 기계로 파일을 복사할 수 있습니다.

이 가이드는 Teleport와 JetBrains IDE를 사용하여 SFTP로 파일에 접근하는 방법을 설명합니다.

필수조건

  • 실행 중인 Teleport 클러스터 버전 이상. Teleport를 시작하려면, 가입하기 위해 무료 평가판에 등록하거나 데모 환경 설정하기를 참조하세요.

  • tctl 관리 도구와 tsh 클라이언트 도구.

    tctltsh 다운로드에 대한 지침은 설치를 방문하세요.

  • 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

Warning

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 명령을 실행하면 오류가 발생합니다.

Note

OpenSSH 서버의 포트 번호를 포함해야 하며, 기본값은 22입니다. 그렇지 않으면 오류가 발생할 수 있습니다. OpenSSH 가이드를 참조하여 더 많은 정보를 확인하세요. OpenSSH 서버에 연결하는 예:

ssh -p 22 user@[server name].[cluster name]

2/3단계. JetBrains IDE 구성하기

IDE를 열고 도구 -> 배포 -> 원격 호스트 탐색으로 이동하세요.

그런 다음 왼쪽 상단 모서리에 있는 더하기 기호를 클릭하여 새 서버를 추가하세요.

Add server

새 서버의 이름을 입력하세요.

위 그림과 같이 SSH 구성 옆의 세 점을 클릭하세요.

왼쪽 상단의 더하기 기호를 클릭하여 새 구성을 생성하고 다음 정보를 제공합니다:

  • 호스트 - Teleport 서버의 이름.
  • 포트 - Teleport 서버의 SSH 포트 (기본값 3022 또는 OpenSSH 서버의 경우 22).
  • 사용자 이름 - 시스템 사용자 이름.

인증 유형으로 OpenSSH 구성 및 인증 에이전트를 선택합니다. 그런 다음 연결 테스트를 클릭할 수 있습니다.

Successfully Connected

3/3단계. 원격 호스트 탐색하기

SSH 구성 창을 닫은 후 IDE에서 원격 호스트 메뉴를 볼 수 있어야 합니다.

Note

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를 사용합니다. 추가 정보를 위해 전용 가이드를 참조하세요.

추가 참고사항

Teleport 원문 보기