본문 바로가기

IT관련

Oracle 무료 DB관리툴 SQL Developer - DB 접속 방법 (SSH 터널링 Connection 세팅)

Oracle 에서 제공하는 무료 데이터베이스 관리툴인 SQL Developer 에서 Oracle DB에 접속하는 기본적인 방법은 지난번에 소개해드렸습니다.

 

이번에는 좀 특수한 상황으로 SSH 터널링(Tunneling)을 통한 DB 접속방법을 소개해드리겠습니다.

 

방화벽이나 보안정책상 Oracle Listener Port 인 1521 이 막혀있는 경우가 있습니다.

오로지 22번 ssh 포트만 열려있는 경우, 이 열려있는 ssh 포트를 통해서 DB서버의 1521 포트로 접속할 수 있도록 해주는 것입니다.

 

이렇게 다른 열려있는 포트로 우회해서 통신하는 경우를 터널링이라고 합니다. 이게 SQL Developer 에서도 지원됩니다.

 

방화벽 등으로 1521 포트가 막혀있는 경우, 아래와 같이 접속에러가 발생합니다.

 

 

그럼, 열려있는 22번 ssh 포트를 통해서 터널링 접속을 해볼까요?

(ssh 도 보안상으로 이유로 22번이 아닌 다른 번호로 바뀌어 있는 경우에는 다른 포트번호를 사용하면 됩니다)

 

먼저, 터널링 세팅을 해줘야 합니다.

메뉴에서 [보기] - [SSH] 메뉴를 클릭합니다.

 

 

그러면, 아래와 같이 왼쪽 "접속" 창 밑에 "SSH 호스트" 창이 뜹니다.

여기에 디폴트로 기존 접속정보가 하나 있는데, 오른쪽 마우스 버튼 눌러서 [제거] 합니다.

 

 

"SSH 호스트" 항목에서 오른쪽 마우스 버튼 누르면 [새 SSH 호스트] 메뉴가 나타납니다. 이걸 클릭합니다.

 

 

아래와 같은 팝업창이 뜨는데, 아래와 같이 접속할 "호스트 IP 어드레스", "포트번호" 등을 입력해줍니다.

이때 "사용자 이름" 은 DB유저가 아니고, ssh 로 접속할 때 사용하는 "OS유저" 입니다.

ssh 로 먼저 접속해야 하는 것이기 때문에, ssh 데몬이 접속을 허락하려면, OS계정 정보가 있어야 하니까요~

 

 

[확인]을 누르면, 아래와 같이 등록됩니다. 여기서 다시 오른쪽 마우스 버튼 눌러서 [테스트] 메뉴를 눌러 접속이 잘 되는지 확인해 봅니다. 앞에서 입력한 "oracle" 유저의 패스워드를 물어보는데, 잘 접속이 되면 성공 메시지가 나타납니다.

 

 

 

이제, ssh 터널링 준비는 모두 끝났습니다. 접속 설정창에서 이번에는 접속유형을 "SSH" 를 선택합니다.

"포트전달" 콤보박스에서 앞에서 만든 터널링 항목을 선택해주면 됩니다. 나머지는 기존 DB 접속하는 정보와 같습니다.

[테스트] 버튼을 클릭하면 "성공" 메시지를 확인할 수 있습니다.

 

 

이렇게해서 방화벽 차단으로 1521포트 접속이 안되었던 것을 22번 ssh 포트로 우회해서 DB 접속을 해봤습니다.

 

 

SQL Developer - 다운로드 및 설치 방법

 

 SQL Developer - DB 접속 방법 (Connection 세팅)

 

 SQL Developer - 쌈빡한 모니터링 기능 (메모리, 스토리지, 세션 등)

 

 SQL Developer - Plan/Trace 확인하기 (실행계획/트레이스)