SSH連接命令
默認連接的端口為22
1. 使用私鑰
ssh -p connect_port user_name@host -i your_private_identity
2. 使用用戶密碼
ssh user_name@host
創建SSH隧道
ssh -L 7878:localhost:3306 -p ssh_port user_name@remote_host -i your_private_identity
本機端口:目標host:目標端口
這里的目標host是localhost的原因是:已經使用ssh連接到目標主機,localhost指的是目標主機的localhost,將localhost替換成目標主機ip亦可
通過SSH隧道的本地轉發實現Django連接遠程數據庫
-
創建一個ssh隧道,將遠程數據庫映射到本地端口
ssh -L local_port:localhost:<remote mysql port> <username>@<remote host>
ssh連接進行時,可以通過訪問本地端口來訪問遠程數據庫
-
在Django的settings中配置數據庫
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': db_name, 'USER': remote_mysql_user, # 遠程數據庫賬號密碼 'PASSWORD': remote_mysql_password, 'HOST': "localhost", 'PORT': local_port, # 遠程數據庫映射到本地的端口 'OPTIONS': {'init_command': 'SET default_storage_engine=INNODB;'} } }
至此,在使用Django的model時,將通過ssh隧道訪問遠程數據庫