데이터베이스 클라이언트 도구에서 다단계 SSH로 데이터베이스에 연결하고 싶습니다.
하고 싶은 일
이런 느낌의 발판이 복수 있는 다단의 SSH로 데이터베이스에 접속하러 가는 구성으로,
수중의 Windows 10 클라이언트에 인스톨 한 데이타베이스 클라이언트 툴(Oracle SQL Developer라든지 MySQL Workbench)로부터 직접 DB를 보러 가고 싶다.
SSH 포트 포워딩
데이터베이스 클라이언트 도구는 단지 한 단계만 밟을 수 있으므로 SSH 포트 포워딩을 수행하여 로컬 클라이언트의 포트를 데이터베이스에 간접적으로 연결합니다.
편의적으로 각 서버의 연결 정보를 정의합니다.
호스트
IP 주소/도메인
포트
EC2(Bastion)
AAA.AAA.AAA.10
22
EC2(Web/AP)
BBB.BBB.BBB.11
22
RDS(Oracle)
oracle.xxxxxxxxx.ap-northeast-1.rds.amazonaws.com
1521년
RDS(MySQL)
mysql.xxxxxxxxx.ap-northeast-1.rds.amazonaws.com
3306
사용자 디렉토리 바로 아래에 .ssh
폴더를 만듭니다.
도중 포트 포워드 구성 파일을 만듭니다.
.ssh\configHost bastion
hostname AAA.AAA.AAA.10
port 22
user ec2-user
IdentityFile C:\Users\hoge\.ssh\bastion.pem
Host webap/oracle
hostname BBB.BBB.BBB.11
port 22
user ec2-user
IdentityFile C:\Users\hoge\.ssh\webap.pem
ProxyCommand C:\Windows\System32\OpenSSH\ssh.exe bastion -W %h:%p
GatewayPorts yes
LocalForward 51521 oracle.xxxxxxxxx.ap-northeast-1.rds.amazonaws.com:1521
ServerAliveInterval 60
ServerAliveCountMax 3
Host webap/mysql
hostname BBB.BBB.BBB.11
port 22
user ec2-user
IdentityFile C:\Users\hoge\.ssh\webap.pem
ProxyCommand C:\Windows\System32\OpenSSH\ssh.exe bastion -W %h:%p
GatewayPorts yes
LocalForward 53306 mysql.xxxxxxxxx.ap-northeast-1.rds.amazonaws.com:3306
ServerAliveInterval 60
ServerAliveCountMax 3
패스워드 인증의 때는 IdentityFile
의 행은 지정하지 않아도 괜찮습니다.
ssh webap/oracle
이나 ssh webap/mysql
로 포트 포워딩한 대상의 Web/AP 서버에 SSH 접속이 성공하면 일단 OK.
>ssh webap/oracle
The authenticity of host 'BBB.BBB.BBB.11 (<no hostip for proxy command>)' can't be established.
ECDSA key fingerprint is SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'BBB.BBB.BBB.11' (ECDSA) to the list of known hosts.
Last login: Wed Nov 18 20:13:03 2020 from ip-BBB-BBB-BBB-11.ap-northeast-1.compute.internal
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
[ec2-user@ ~]$
위의 명령으로 데이터베이스로의 경로를 확립하고 있지 않으면 클라이언트 툴로부터 접속할 수 없기 때문에, 사용할 때는 터미널로부터 사전에 접속해 열어 놓아 둡시다.
클라이언트 도구에서 데이터베이스에 연결
포트 포워딩된 로컬 포트에서 연결합니다.
Oracle SQL Developer
MySQL Workbench
Reference
이 문제에 관하여(데이터베이스 클라이언트 도구에서 다단계 SSH로 데이터베이스에 연결하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/danishi/items/27b668c1bd977f5a1b51
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
데이터베이스 클라이언트 도구는 단지 한 단계만 밟을 수 있으므로 SSH 포트 포워딩을 수행하여 로컬 클라이언트의 포트를 데이터베이스에 간접적으로 연결합니다.
편의적으로 각 서버의 연결 정보를 정의합니다.
호스트
IP 주소/도메인
포트
EC2(Bastion)
AAA.AAA.AAA.10
22
EC2(Web/AP)
BBB.BBB.BBB.11
22
RDS(Oracle)
oracle.xxxxxxxxx.ap-northeast-1.rds.amazonaws.com
1521년
RDS(MySQL)
mysql.xxxxxxxxx.ap-northeast-1.rds.amazonaws.com
3306
사용자 디렉토리 바로 아래에
.ssh
폴더를 만듭니다.도중 포트 포워드 구성 파일을 만듭니다.
.ssh\config
Host bastion
hostname AAA.AAA.AAA.10
port 22
user ec2-user
IdentityFile C:\Users\hoge\.ssh\bastion.pem
Host webap/oracle
hostname BBB.BBB.BBB.11
port 22
user ec2-user
IdentityFile C:\Users\hoge\.ssh\webap.pem
ProxyCommand C:\Windows\System32\OpenSSH\ssh.exe bastion -W %h:%p
GatewayPorts yes
LocalForward 51521 oracle.xxxxxxxxx.ap-northeast-1.rds.amazonaws.com:1521
ServerAliveInterval 60
ServerAliveCountMax 3
Host webap/mysql
hostname BBB.BBB.BBB.11
port 22
user ec2-user
IdentityFile C:\Users\hoge\.ssh\webap.pem
ProxyCommand C:\Windows\System32\OpenSSH\ssh.exe bastion -W %h:%p
GatewayPorts yes
LocalForward 53306 mysql.xxxxxxxxx.ap-northeast-1.rds.amazonaws.com:3306
ServerAliveInterval 60
ServerAliveCountMax 3
패스워드 인증의 때는
IdentityFile
의 행은 지정하지 않아도 괜찮습니다.ssh webap/oracle
이나 ssh webap/mysql
로 포트 포워딩한 대상의 Web/AP 서버에 SSH 접속이 성공하면 일단 OK.>ssh webap/oracle
The authenticity of host 'BBB.BBB.BBB.11 (<no hostip for proxy command>)' can't be established.
ECDSA key fingerprint is SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'BBB.BBB.BBB.11' (ECDSA) to the list of known hosts.
Last login: Wed Nov 18 20:13:03 2020 from ip-BBB-BBB-BBB-11.ap-northeast-1.compute.internal
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
[ec2-user@ ~]$
위의 명령으로 데이터베이스로의 경로를 확립하고 있지 않으면 클라이언트 툴로부터 접속할 수 없기 때문에, 사용할 때는 터미널로부터 사전에 접속해 열어 놓아 둡시다.
클라이언트 도구에서 데이터베이스에 연결
포트 포워딩된 로컬 포트에서 연결합니다.
Oracle SQL Developer
MySQL Workbench
Reference
이 문제에 관하여(데이터베이스 클라이언트 도구에서 다단계 SSH로 데이터베이스에 연결하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/danishi/items/27b668c1bd977f5a1b51
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(데이터베이스 클라이언트 도구에서 다단계 SSH로 데이터베이스에 연결하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/danishi/items/27b668c1bd977f5a1b51텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)