📅  最后修改于: 2023-12-03 14:41:30.642000             🧑  作者: Mango
SSH(Secure Shell)是一种加密网络协议,它可以把用户的数据加密后传到远程服务器,保证了数据传输的安全性。在Github上使用SSH可以大大提高代码提交的安全性和便捷性。
本文将介绍如何在JavaScript中使用Github SSH。
打开Git Bash或者命令行工具,输入以下命令:
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
其中,your_email@example.com
替换为你自己的电子邮件地址。
然后按照提示一路回车即可,生成的密钥会保存在用户主目录的.ssh
文件夹下。
打开Github个人设置,选择"SSH and GPG keys",然后点击"New SSH key"按钮。
在"Title"中填写一个标识该密钥的名称,在"Key"中粘贴刚才生成的公钥。
为了便于操作,我们可以将SSH私钥添加到环境变量中。打开文件 ~/.bashrc
(或 ~/.zshrc
),加入以下内容:
export GITHUB_SSH_PRIVATE_KEY_PATH=~/.ssh/id_rsa
通过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了。这样可以实现更加安全和便捷的代码提交,提高开发效率。