MySQL Query Browser 용 SSH 터널링을 MySQL 서버로 설정하려고합니다.


0

다른 웹 서버에 원격 웹 서버에서 SSH 터널링을 설정하여 데이터베이스가 MySQL 쿼리 브라우저에서 쉽게 탐색 될 수 있도록 설정하려고합니다. 이 페이지를 따르 겠지만 MySQL 서버에 연결할 수 없습니다. http://www.howtogeek.com/howto/ubuntu/access-your-mysql-server-remotely-over-ssh/

내가 한 것:

  1. SSH를 통해 퍼티로 웹 서버에 로그인했습니다.
  2. 타이핑 된 ssh -L 33060:[database]:3306 [myusername]@[webserver_address] 여기서 [...]는 실제 정보에 의해 변경됩니다.
  3. 암호를 묻는 메시지가 나타나면 다음 메시지가 나타납니다. 로그인이 성공한 것 같습니다.

    socket : 프로토콜이 지원되지 않습니다.

    마지막 로그인 : .... 2012 년 ....   Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994          캘리포니아 대학교 리전트 판권 소유.

    FreeBSD 7.1-RELEASE ....

    FreeBSD에 오신 것을 환영합니다!

  4. Windows에서 MySQL 쿼리 브라우저 열기 및 입력

Server Host: 로컬 호스트 Port: 33060 UserName: 사용자 이름 PassWord: 미스 워드

그리고 그것은 말한다,

Could not connect to the specified instance.
MySQL Error Number 2003
Can't connect to MySQL Server on 'localhost' (10061)

이건 너무 미안해. 귀하의 정보를 보내 주셔서 감사합니다.


웹 서버에서 터널을 만드는 이유는 무엇입니까? 퍼티에 터널을 세우면 안되니? 웹 서버에 이미 액세스 권한이 있습니까? 여기서 뭘하려고하는지에 따라 문제가 있습니다. putty를 실행중인 Windows 클라이언트에서 mysql 서버에 액세스 하시겠습니까? 또는 무엇을?
Zoredache

@ Zoredache Do you want to access the mysql server from your Windows client where you are running putty? - 맞아. 내 PC에서 좋은 GUI 구현 소프트웨어로 원격 데이터베이스를 탐색하고 싶습니다. 나는 내가 올린 링크의 지시를 따를 뿐이다. 이것이 퍼티에서 모두 설정할 수 있다면 퍼티에서하고 싶습니다. 그런 식으로 웹 브라우저를 통해 phpMyAdmin에 로그인 할 필요가 없습니다. 그런 방법으로 직접 액세스하는 것보다 다소 느리고 번거 롭습니다.
Teno

답변:


2

퍼티를 사용하는 Windows 호스트에서 원격 시스템에 액세스하려면 원격 시스템이 아닌 퍼티 내에서 터널을 생성해야합니다.

퍼티에서 터널을 설정하는 것은 꽤 간단합니다.

  • 오픈 퍼티
  • 저장 세션이 있으면 저장 세션을로드하거나 연결 정보를 입력하십시오.
  • 아래로 스크롤하여 연결 - & gt; SSH - & gt; 터널
  • 원본 포트를 다음으로 설정하십시오. 33060
  • 목적지를 데이터베이스 서버의 IP로 설정하고 :3306 mysql 포트. 그래서 192.168.1.1:3306.
  • '추가'를 클릭하십시오.
  • 세션 탭으로 돌아가서 저장을 선택하거나 열기를 클릭하여 연결을 시작하십시오.

putty tunnel page

연결되면 데이터베이스 응용 프로그램을 시작하고 응용 프로그램에서 수신 대기중인 서버에 연결을 시도하십시오. 127.0.0.1:33060.


와아, 일 했어! 로컬, 원격 또는 동적 중에서 선택할 수있는 옵션을 찾지 못했습니다. 로컬을 선택하면 해당 옵션이 선택됩니다. 정말 고맙습니다.
Teno

1

편집 : 그냥 당신이 잘못된 연결 문자열을 사용하는 것을 보았다 :

ssh -L 33060:[database]:3306 [myusername]@[webserver_address

사용해보기 :

ssh -4 -L 33060:localhost:3306 [myusername]@[webserver_address

-4 옵션은 IPv4를 강제로 사용하고 localhost는 바인드 포트의 대상입니다 (귀하의 경우에는 locahost 여야 함)

localhost : 33060 및 원격 자격 증명을 사용하여 연결합니다.

그게 효과가있어!

그렇지 않으면 서버 ssh 데몬 구성에서 다음을 확인하십시오.

AllowTcpForwarding yes

그렇지 않으면 서버에 연결하십시오. ssh -vv user@host 옵션을 사용하면 바인드 포트가 적어도 실패한 것을 알게되면 더 많은 정보를 얻을 수 있습니다.


작동하지 않는 것 같습니다. MySQL Query Browser에 연결할 때 동일한 메시지가 나타납니다. 나는 틀린 일을해야만합니다. AllowTcpForwarding yes 주는 "AllowTcpForwarding command not found" ssh -vv user@host 디버그 라인의 긴 목록을 제공합니다. 나는 그들을 게시해야합니까? 한 가지 확실한 점은 데이터베이스 서버와 웹 서버가 제 경우에 서로 다른 도메인을 가지고 있다는 것입니다. 그래서 나는 두려워. localhost ...에서 ssh -4 -L 33060:localhost:3306 [myusername]@[webserver_address] 데이터베이스 서버를 가리 키지 않습니다. 나는 잘 모르겠다.
Teno

나도 노력했다. ssh -4 -L 33060:[web_server_address]:3306 [myusername]@[database_server_address] 그러나 이것이 타임 아웃 메시지를줍니다.
Teno

PC에서 창을 띄웁니 다?
Martino Dino

예. 퍼티를 사용하여 웹 서버에 로그인하고 퍼티에 명령을 입력했습니다.
Teno

노노 모노 노노! 이 옵션을 서버에서 사용하지 말고 대신 putty 옵션, connections-> ssh- & gt 옵션을 사용하고 포트 전달에서 올바른 옵션을 설정하십시오. 검사 cs.uu.nl/technical/services/ssh/putty/puttyfw.html
Martino Dino
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.