2014-09-30 8 views
0

내 로컬 호스트 : 8081 (jasperserver)에서 내 mysql 데이터베이스가있는 원격 서버에 연결하는 방법을 찾고 있습니다. MySQL Workbench에서 SSH (유일한 방법)를 통해 DB에 연결 중이며 잘 작동합니다. 많은 연구를했는데 로컬 시스템에 SSH 터널을 만들어야한다는 것을 알았지 만 어떻게해야합니까? ssh를 통해 내 jasperserver에 연결하는 방법? 그것은 localhost : 8081을 ssh하려고 할 때 '연결 거부 됨'을 제공합니다. Windows 용 openssh를 설치했습니다. 나는 또한 벽옥과 유사한 Pentaho를 시도했으며 연결 방법도 동일합니다.Jaspersoft/Pentaho - SSH를 통해 MySQL에 연결

ssh <user>@<host that has access to database> -L <local port>:<db server>:<remote port> 

는 그런 다음 localhost:<local port>에 연결 : 감사합니다 ...

+0

'ssh'를 사용하려는 이유는 무엇입니까? 이것이 선호되는 방법이기 때문에 원격 서버에 직접 연결할 수 없습니까? 보안상의 이유로이 작업을 수행해야하는 경우 로컬 Pentaho 서버를 사용하지 않고 직접'ssh '를 설정할 수 있습니다. 링크가 설정되면 모든 프로세스는 전달 된 포트를 사용할 수 있습니다. –

+0

문제는 ssh가 DB에 연결할 수있는 유일한 방법이라고 들었습니다. 호스트와 사용자 만 연결할 수 없습니다. 그래서 나는 이것을 ssh를 통해해야만한다. 그리고 터널을 올바르게 만드는 법을 알 수 없습니다. – radzik

+0

터미널에서 원격 서버에 ssh 연결을 설정할 수 있습니까? –

답변

2

방법은 정확히 다음과 같은 터널입니다 설정할 수 있습니다.

예 : db 서버 db.mydomain.com은 포트 3306에서 실행되지만 액세스 할 수는 없습니다. 먼저 다른 컴퓨터에 ssh, myproxy.mydomain.com을 db 서버의 포트 3306에 대한 액세스 권한이있는 "username"사용자로 지정해야합니다. 해당 컴퓨터에서 db에 대한 액세스를 확인하려면

mysql -h db.mydomain.com -P 3306 -u <your db username> -p<your db password> <db name> 

을 시도하십시오. 그럼 당신은 터널을 설정하여 시작 : SSH를 연결이 설정

ssh [email protected] -L 3306:db.mydomain.com:3306 

되면 당신은 URL localhost:3306 또는 127.0.0.1:3306를 사용하여 DB에 연결할 수 있습니다.

터널이하는 일은 프록시 컴퓨터를 릴레이로 사용하여 로컬 컴퓨터의 포트 3306으로 향하는 트래픽을 원격 db 서버의 포트 3306으로 리디렉션하는 것입니다.

+0

SSH 터널링을 사용하여 데이터베이스에 액세스하려고합니다. 자격 증명은 정상적으로 작동합니다. MYSQL GUI 클라이언트에서 테스트 했으므로 서버에 대한 명령 줄과 명령 줄을 사용하여 포트를 테스트하면 포트도 완벽하게 작동합니다. 하지만 난 그것을 펜타 사용하여 데이터베이스 서버에 연결하려고 할 때 액세스 사용자 통계 '에 대한 거부로 오류를 제공은 @ (암호 사용 : YES)'로컬 호스트 ' 난 후 사용 JNDI를 거기 credentails었지만 여전히 작동하지 않습니다. – shzyincu