📜  github 操作 ssh - Javascript (1)

📅  最后修改于: 2023-12-03 14:41:30.642000             🧑  作者: Mango

Github 操作 SSH - JavaScript

简介

SSH(Secure Shell)是一种加密网络协议,它可以把用户的数据加密后传到远程服务器,保证了数据传输的安全性。在Github上使用SSH可以大大提高代码提交的安全性和便捷性。

本文将介绍如何在JavaScript中使用Github SSH。

步骤
1. 生成SSH密钥

打开Git Bash或者命令行工具,输入以下命令:

$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

其中,your_email@example.com 替换为你自己的电子邮件地址。

然后按照提示一路回车即可,生成的密钥会保存在用户主目录的.ssh文件夹下。

2. 将SSH公钥添加到Github中

打开Github个人设置,选择"SSH and GPG keys",然后点击"New SSH key"按钮。

在"Title"中填写一个标识该密钥的名称,在"Key"中粘贴刚才生成的公钥。

3. 将SSH私钥添加到环境变量中

为了便于操作,我们可以将SSH私钥添加到环境变量中。打开文件 ~/.bashrc(或 ~/.zshrc),加入以下内容:

export GITHUB_SSH_PRIVATE_KEY_PATH=~/.ssh/id_rsa
4. 使用JS连接Github

通过SSH连接Github,需要使用Node.js的 ssh2 包。

const Client = require('ssh2').Client;

const conn = new Client();
conn.on('ready', () => {
  console.log('Client :: ready');
  conn.exec('uptime', (err, stream) => {
    if (err) throw err;
    stream.on('close', (code, signal) => {
      console.log(`Stream :: close :: code: ${code}, signal: ${signal}`);
      conn.end();
    }).on('data', (data) => {
      console.log(`STDOUT: ${data}`);
    }).stderr.on('data', (data) => {
      console.log(`STDERR: ${data}`);
    });
  });
}).connect({
  host: 'github.com',
  port: 22,
  username: 'git',
  privateKey: require('fs').readFileSync(process.env.GITHUB_SSH_PRIVATE_KEY_PATH)
});

其中需要注意的是,Github使用的SSH端口为22,用户名为git,私钥路径可以通过环境变量 GITHUB_SSH_PRIVATE_KEY_PATH 来获取。

结论

通过以上步骤,我们就可以在JavaScript中使用Github SSH了。这样可以实现更加安全和便捷的代码提交,提高开发效率。