我正在尝试创建SSH隧道来访问VPC中的MySQL DB(Aurora无服务器变体),并且或多或少地遵循了与here所述类似的方法。我已经设置了一个Jumpbox(一个EC2实例),我可以对其进行ssh调试。但是,我正在努力使本地端口转发正常工作,因为我似乎无法弄清楚命令使用的是哪个本地端口。我正在使用的SSH命令与此类似:
ssh -N -L ssh_localPort:rdsHost:rds_remotePort user@remoteHost -i ~/path/to/key
我使用typeORM通过以下格式的命令创建和运行数据库迁移脚本:
ts-node -r tsconfig-paths/register ./node_modules/typeorm/cli.js migration:run -c database_name
该数据库的配置如下所示:
{
"name": "database_name",
"type": "mysql",
"host": "host_name",
"port": 3306,
"username": "user",
"password": "password",
"database": "database_name",
"entities": ["models/database_name/*.*"],
"migrationsTableName": "migration",
"migrations": ["migration/database_name/*.ts"],
"cli": {
"migrationsDir": "migration/database_name"
}
}
我感觉除了本地端口外,我拥有所有其他部件。 TypeOrm设置用于与数据库通信的端口,因此我假设可以通过ts-node显式设置端口,但是找不到允许该选项的选项。
有人对如何检索本地端口或显式设置本地端口有任何建议吗?
[我在进行这项工作时有点沉迷,不认识两件事:
我将配置文件更新为以下内容:
{
...
"host": "localhost",
"port": ssh_local_port,
"username": "rds_user",
"password": "rds_password",
...
}
这足以让我远程连接!