기계적 인조 인간

SSH 터널을 통해 MySQL에 연결하는 방법

The University in the Digital Age

The University in the Digital Age

차례:

Anonim

기본적으로 MySQL 서버는 로컬 호스트에서만 수신하므로 동일한 호스트에서 실행되는 응용 프로그램에서만 액세스 할 수 있습니다.

그러나 경우에 따라 원격 위치에서 서버에 연결하려고 할 수도 있습니다. 한 가지 옵션은 원격 연결을 허용하도록 MySQL 서버를 구성하는 것이지만 관리 권한이 필요하며 보안 위험이 발생할 수 있습니다.

보다 안전한 대안은 로컬 시스템에서 서버로 SSH 터널을 만드는 것입니다. SSH 터널링은 서비스 포트를 릴레이 할 수있는 클라이언트와 서버 시스템간에 암호화 된 SSH 연결을 작성하는 방법입니다.

이 가이드에서는 SSH 터널을 생성하고 원격 클라이언트에서 MySQL 서버에 연결하는 방법을 설명합니다. MariaDB에도 동일한 지침이 적용됩니다.

전제 조건

  • SSH 클라이언트. MySQL 서버가 실행되는 시스템에 대한 SSH 액세스.

Linux 및 macOS에서 SSH 터널 만들기

ssh 클라이언트는 대부분의 Linux 및 Unix 기반 시스템에 사전 설치되어 있습니다.

ssh -N -L 3336:127.0.0.1:3306 @

사용되는 옵션은 다음과 같습니다.

  • -N -SSH에게 원격 명령을 실행하지 않도록 지시합니다. -L 3336:127.0.0.1:3306 로컬 포트 ​​전달을 작성합니다. 로컬 포트 ​​( 3306 ), 대상 IP ( 127.0.0.1 ) 및 원격 포트 ( 3306 )는 콜론 (:)으로 구분됩니다. @ -원격 SSH 사용자 및 서버 IP 주소 백그라운드에서 명령을 실행하려면 -f 옵션을 사용하십시오. SSH 서버가 22 (기본값) 이외의 포트에서 청취중인 경우 -p 옵션으로 포트를 지정하십시오.

명령을 실행하면 SSH 사용자 비밀번호를 입력하라는 메시지가 표시됩니다. 입력하면 서버에 로그인되고 SSH 터널이 설정됩니다. SSH 키 기반 인증을 설정하고 비밀번호를 입력하지 않고 서버에 연결하는 것이 좋습니다.

이제 로컬 머신 MySQL 클라이언트가 127.0.0.1:3336 가리 키도록하여 원격 데이터베이스 로그인 자격 증명을 입력하고 MySQL 서버에 액세스 할 수 있습니다.

예를 들어, 명령 행 mysql client를 사용하여 MySQL 서버에 연결하려면 다음을 실행하십시오.

mysql -u MYSQL_USER -p -h 127.0.0.1

여기서 MYSQL_USER 는 데이터베이스에 액세스 할 권한이있는 원격 MySQL 사용자입니다.

프롬프트가 표시되면 MySQL 사용자 비밀번호를 입력하십시오.

SSH 클라이언트가 실행중인 콘솔에서 SSH 터널 유형 CTRL+C 를 종료하려면

Windows에서 SSH 터널 만들기

Windows 사용자는 먼저 SSH 클라이언트 프로그램을 다운로드하여 설치해야합니다. 가장 널리 사용되는 Windows SSH 클라이언트는 PuTTY입니다. 여기에서 PuTTY를 다운로드 할 수 있습니다.

PuTTY를 사용하여 MySQL 서버에 대한 SSH 터널을 작성하려면 다음 단계를 수행하십시오.

  1. 퍼티를 시작하고 Host name (or IP address) 필드에 서버의 IP 주소를 입력하십시오.

    결론

    가장 많이 사용되는 오픈 소스 데이터베이스 서버 인 MySQL은 localhost에서만 들어오는 연결을 수신 대기합니다. SSH 터널을 만들면 로컬 클라이언트에서 원격 MySQL 서버에 안전하게 연결할 수 있습니다.

    MySQL MariaDB ssh