2014-03-25 6 views
1

SSH 터널링을 처음 사용하고 있으므로 구성 방법을 이해하려고합니다.SSH 터널링을 사용하여 원격 MySQL 서버에 연결하려면 어떻게해야합니까?

내가 연결하려고하는 MySQL 데이터베이스를 호스트하는 원격 Linux 서버가 있습니다. 로컬 데이터베이스 만 인식하는 소프트웨어를 통해 MySQL 데이터베이스에 직접 액세스하려면 SSH 터널링이 액세스를 설정하는 올바른 방법 일 것이라고 생각하십니까?

이제 MySQL 데이터베이스에 액세스하려는 소프트웨어를 실행중인 '집'컴퓨터에서 터널링을 설정하려고합니다. 내 첫 번째 질문은 역방향 터널링 또는 일반 터널링 여부입니다. 둘째, 로컬 터널링 또는 원격 터널링입니까?

마지막으로, 내가 이해에서, 내 코드는

ssh -L 8080:mylinuxserver.mycompany.com:22 [email protected] 

이 정확 같이 보일 예정이다? SSH를 사용하고 제 목적지 포트 8080이 되었기 때문에 제 소스 포트가 '22'입니까? (또는 더 적절한 것이 있습니까?)

위의 코드를 사용하려고하면 내 암호가 이미 MyLinuxServer에 있기 때문에 암호를 사용하여 로그인 할 수 있지만 localhost : 8080을 ping하면 호스트를 찾을 수 없습니다.

내가 뭘 잘못하고 있니?

답변

4

그 I 연결을 시도 중입니다.

명령은

이어야합니다.

  1. 8080이 : 워크 스테이션
  2. 로컬 호스트에 했나 로컬 포트입니다 :
    ssh -L 8080:localhost:3306 [email protected] 
    

    localhost에 MySQL의 포트 : mylinuxserver.mycompany.com

  3. 3306에 해당된다.

    mysql -h 127.0.0.1 --port=8080 
    

    게다가, ping localhost:8080 잘못 :

는 다음과 같이 MySQL로 (워크 스테이션에서) 연결합니다. Ping 그런 식으로 작동하지 않습니다.

+0

필자의 경우 터미널은 mysql -h 127.0.0.1 -u root -p -P 8080; – Ritesh

-1

이 시도 :

ssh -f [email protected] -L 3307:mysql1.example.com:3306 -N 

다음, 연결을 시도하는 MySQL을 접속에 : 나는 MySQL 데이터베이스를 호스팅하는 원격 리눅스 서버를 가지고

mysql -h 127.0.0.1 -P 3307 
+0

올바르게 실행되었지만 호스트를 찾을 수 없어 계속 핑할 수 없습니다. 내 질문에 입력 한 코드와 동일한 문제가 발생했습니다. – Dezzie

+0

mysql 명령을 실행하려고하면 명령을 찾을 수 없다는 것을 알 수 있습니다. – Dezzie