> 데이터 베이스 > MySQL 튜토리얼 > PHP에서 SSH 터널링을 통해 원격 MySQL 데이터베이스에 안전하게 연결하는 방법은 무엇입니까?

PHP에서 SSH 터널링을 통해 원격 MySQL 데이터베이스에 안전하게 연결하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-11-27 11:37:10
원래의
309명이 탐색했습니다.

How to Securely Connect to a Remote MySQL Database via SSH Tunneling in PHP?

PHP에서 SSH를 통해 안전한 원격 MySQL 연결 설정

이 시나리오에서는 원격 MySQL 데이터베이스에 대한 연결을 설정하는 데 어려움이 있습니다. SSH와 PHP를 사용합니다. 필요한 권한을 부여했는데도 '액세스할 수 없습니다' 오류가 계속 발생합니다.

문제 해결

이 문제를 해결하기 위해 SSH 터널링 접근 방식을 사용합니다. 여기에는 일반적으로 Jumpbox 서버인 SSH 프록시를 통해 데이터베이스 서버에 대한 보안 연결을 생성하는 작업이 포함됩니다. 이 설정은 데이터 교환을 위한 암호화된 채널을 제공하여 직접적인 데이터베이스 서버 노출과 관련된 보안 위험을 완화합니다.

SSH 터널 구성

  1. GUI 도구: 내장된 SSH 터널링 지원을 제공하는 Visual Studio Code 또는 TablePlus와 같은 그래픽 사용자 인터페이스(GUI) 도구를 사용해 보세요. 프로세스를 단순화하고 사용자 경험을 향상시킵니다.
  2. 명령줄:

    a. '-L' 스위치를 사용하여 워크스테이션에 로컬 포트 ​​전달 터널을 설정합니다.

    ssh -fNg -L 3307:10.3.1.55:3306 [email protected] 
    로그인 후 복사

    위치:

    • 3307: 연결 허용을 위한 로컬 포트
    • 10.3.1.55: 원격 MySQL 데이터베이스 서버의 IP 주소
    • 3306: MySQL 데이터베이스 서버 포트

    b. 로컬 포트를 통해 데이터베이스 서버에 연결합니다:

    mysql -h 127.0.0.1 -P 3307 -u dbuser -p passphrase
    로그인 후 복사

    위치:

    • 127.0.0.1: Localhost(워크스테이션)
    • 3307: 로컬 포트가 설정됨 단계적으로 a
  3. PHP 연결:

    터널이 설정되면 다음과 같이 PHP를 사용하여 MySQL 데이터베이스에 연결합니다.

    <?php
       $smysql = mysql_connect("127.0.0.1:3307", "dbuser", "passphrase");
       mysql_select_db("db", $smysql);
    ?>
    로그인 후 복사

추가 고려 사항

  • 보안 강화를 위해 원격 네트워크의 내부 주소로 트래픽을 전달하세요.
  • 인증을 위해 비밀번호 대신 개인 키를 활용하세요.

위 내용은 PHP에서 SSH 터널링을 통해 원격 MySQL 데이터베이스에 안전하게 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿