[英]Node.js connecting through ssh
我有一個node.js服務器可以工作但需要為ssh連接設置:
var mysql = require('mysql')
var io = require('socket.io').listen(3000)
var db = mysql.createConnection({
host: 'hostname',
user: 'username',
password: '12345',
database: '12345',
port: 3306,
socket: '/var/run/mysqld/mysqld.sock'
})
db.connect(function(err){
if (err) console.log(err)
})
我知道有ssh npm庫用於此目的,但可用的選項(ssh2,node-sshclient等)似乎處理可能使事情過於復雜的相當復雜的功能。 我正在尋找通過ssh連接到我的mysql數據庫的最簡單方法。 實現這一目標的最佳方法是什么?
如果您正在運行linux / unix系統,請執行以下操作:
通過ssh
連接到你的mysql服務器並通過這個ssh隧道代理mysql端口(默認為3306)。
其工作原理如下:
1鍵入screen
(啟動屏幕會話,即使shell關閉也是永久性的)。
2鍵入屏幕外殼:
ssh -L 3306:127.0.0.1:3306 your_servers_domain_or_ip -lyour_login_name
3輸入您的ssh密碼/或使用PKI身份驗證以避免手動步驟
4完成...現在可以像在應用程序安裝在同一台機器上時那樣連接MySQL。
從node.js連接到MySQL,如下所示:
var db = mysql.createConnection({
host: '127.0.0.1', // Important to connect to localhost after connecting via ssh in screen
user: 'username',
password: '12345',
database: '12345',
port: 3306
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.