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隧道访问远程数据库