1. 安装ssh2模块
在终端中运行以下命令:
```
npm install ssh2
```
2. 导入ssh2模块
在Express应用程序中导入ssh2模块:
```javascript
const ssh2 = require('ssh2')
```
3. 创建SSH连接
```javascript
const conn = new ssh2.Client()
conn.on('ready', function() {
console.log('SSH连接已建立')
// 在此处添加转发代码
}).connect({
host: '远程主机',
port: 22,
username: '用户名',
password: '密码'
})
```
4. 添加转发
在SSH连接成功后,使用conn.forwardOut()方法添加转发:
```javascript
conn.forwardOut('本地主机', 0, '远程主机', 远程端口, function(err, stream) {
if (err) throw err
// 在此处处理流
})
```
其中,本地主机和本地端口可以是任意值,远程主机和远程端口是需要转发的目标主机和端口。
5. 处理流
在添加转发后,可以使用stream对象处理数据流。例如,将流传递给Express应用程序:
```javascript
app.get('/ssh', function(req, res) {
conn.forwardOut('localhost', 0, '远程主机', 远程端口, function(err, stream) {
if (err) throw err
stream.pipe(res)
})
})
```
这将创建一个路由,将来自SSH转发的流传递给Express应用程序的响应。
大多数 Git 服务器都会选择使用 SSH 公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。生成公钥的过程在所有 *** 作系统上都差不多。 首先先确认一下是否已经有一个公钥了。SSH 公钥默认储存在账户的主目录下的 ~/.ssh 目录。进去看看:
关键是看有没有用 *** 和 ***.pub 来命名的一对文件,这个 *** 通常就是 id_dsa 或 id_rsa。有 .pub 后缀的文件就是公钥,另一个文件则是密钥。假如没有这些文件,或者干脆连 .ssh 目录都没有,可以用 ssh-keygen 来创建。
(可以手动复制过去,也可以ssh-copy-id root@10.10.10.10)
Host fw01
Host test
然后就可以用ssh test 连接服务器
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)