SSH服务详解(七)– SSH 连接 Github

article/2025/9/21 16:04:04

SSH 连接 Github

SSH服务详解(一)–Linux SSH 服务器与客户端的安装与启动

SSH服务详解(二)–使用私钥登录 SSH 服务器(免密登录)

SSH 服务详解 (三)-- 使用 SSH 代理

SSH 服务详解 (四)-- 本地调用远程主机的命令

SSH 服务详解 (五)-- 远程文件拷贝

SSH 服务详解 (六)-- Windows SSH 主机

SSH 服务详解 (七)-- SSH 连接 Github

SSH服务详解(八)– vscode 通过 SSH 远程连接 linux 服务器

  • SSH 客户端运行在 windows

本地(Windows)

Linux 网上教程较多,这里以 Windows 为例

配置本地 git

查看配置

git config --global --list

配置用户名

git config --gloabl user.name "tyustli"

配置邮箱

git config --global user.email "your email address"

生成秘钥

最好在 C:\Users\Admin\.ssh 目录下生成秘钥(防止时间太久秘钥找不到)

在上述目录下打开 git bash

ssh-keygen.exe -t rsa -C "for ssh test"
  • -t 表示类型
  • -C 注释

提示输入秘钥名称

Enter file in which to save the key (/c/Users/Admin/.ssh/id_rsa): testssh

秘钥生成结果

Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in testssh.
Your public key has been saved in testssh.pub.
The key fingerprint is:
SHA256:eEFl7kK7MYymu2xxAQ for ssh test
The key's randomart image is:
+---[RSA 2048]----+
|          *=o    |
|       ooo*.     |
|E      .+o.      |
| .   o *.++      |
|      B.S+..     |
| o   +.*.o.      |
|  +.   ..        |
| +o+oo           |
|oo               |
+----[SHA256]-----+

当前目录

$ ls
config  known_hosts  testssh  testssh.pub  tyustli  tyustli.pub

testsshtestssh.pub 为生成的秘钥对

Github 公钥添加

Settings->SSH and GPG keys

请添加图片描述
点击 New SSH key
请添加图片描述

Title 输入名称,Key 输入公钥 testssh.pub

将生成的公钥 testssh.pub 内容复制到 Key 中即可

添加私钥

git bash 中添加私钥(git bash 关闭之后添加的就失效了)

bash 中依次输入如下命令
启动代理

ssh-agent

添加私钥

ssh-add ~/.ssh/testssh

上述命令执行下来会报错

Could not open a connection to your authentication agent.

再执行一遍如下命令即可
在 bash 中启动 ssh 代理

ssh-agent bash

添加 ssh 私钥

ssh-add ~/.ssh/testssh

连接测试

ssh -T git@github.com

测试成功

Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.

注意:bash 关闭之后添加的 ssh 秘钥就失效了,下次再打开需要重新执行上述步骤

永久添加私钥

打开 git bash 时,需要将 ssh 密钥自动添加到每个会话中,那么如何一次添加永久使用呢?

打开 git 安装目录(D:\SoftWare_Application\Git\etc\ssh)下的 ssh_config 文件

IdentityFile 注释的地方下一行添加如下内容

IdentityFile path

path 表示 ssh 私钥的路径地址

例如

IdentityFile ~/.ssh/testssh

ssh 测试

ssh -T git@github.com

测试失败时会报如下错误:

git@github.com: Permission denied (publickey).

测试失败,秘钥未添加,参考使用 SSH 代理 的添加 SSH 私钥章节,即修改私钥文件的权限

注意事项:最好不要将新添加的私钥放在 ssh_config 文件的尾部,有些系统不支持,也会报上述错误,在有 IdentityFile 注释的下一行添加自己的私钥即可

测试成功

Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.

http://chatgpt.dhexx.cn/article/JieKpDoi.shtml

相关文章

Java打造一款SSH客户端,已开源!

最近由于项目需求,项目中需要实现一个WebSSH连接终端的功能,由于自己第一次做这类型功能,所以首先上了GitHub找了找有没有现成的轮子可以拿来直接用,当时看到了很多这方面的项目,例如:GateOne、webssh、she…

SSH框架---Spring官网下载各版本jar包

1:浏览器输入官网地址:http://spring.io/projects 2:点击如图树叶页面按钮。 3:点击如图小猫图片按钮。 4:查找downloading spring artifacts 链接点击。 5:查找Manually downloading Spring distributions 下面的 http://repo.spring.io.链接点击。 6:鼠标…

网页版ssh到服务器,Sshwifty 一款网页端SSH客户端程序

提起 ssh 客户端,每个人应该都会有自己所偏好的那一款。不过在某些情况下由于安全性或是便利性的原因,本地 ssh 客户端软件并不是那么的灵活好用。这时不如使用 Sshwifty 在远程服务器上搭建一个基于网页的 ssh 客户端程序,只需要打开浏览器便…

Web版SSH客戶端Sshwifty

昨晚收到居委会的通知,从今天开始起暂时不用每天做抗原了 上班的人一周起码要做三次核酸,就算不上班,买个菜也要 72 小时的核酸才能进店,再做抗原真的有点浪费 什么是 Sshwifty ? Sshwifty 是为 Web 设计的 SSH 和 Tel…

springboot实现SSH客户端

springboot实现SSH客户端 参考网址 https://mp.weixin.qq.com/s?__bizMzAxNjk4ODE4OQ&mid2247498254&idx3&sn5c12442bd5b9f4f84a352cfaa4faeab1&chksm9beedb7cac99526aa3c6409ddcf6a9b9558d6c1ea0e8e1d9255a75b24f70b1eb2042ac94d54a&mpshare1&scene…

使用纯Java实现一个WebSSH项目

前言 最近由于项目需求,项目中需要实现一个WebSSH连接终端的功能,由于自己第一次做这类型功能,所以首先上了GitHub找了找有没有现成的轮子可以拿来直接用,当时看到了很多这方面的项目,例如:GateOne、webss…

什么是 RPC 框架

rpc框架解释 谁能用通俗的语言解释一下什么是 RPC 框架? - 远程过程调用协议RPC(Remote Procedure Call Protocol) 首先了解什么叫RPC,为什么要RPC,RPC是指远程过程调用,也就是说两台服务器A,B&#xff0…

Hadoop RPC简介

RPC(Remote Procedure Call)————远程过程调用协议 Hadoop RPC在Hadoop中应用非常广泛,Client、DataNode、NameNode之间的通讯全依赖于它 (1)它允许一台计算机程序远程调用另外一台计算机的子程序,而不…

RPC是什么

什么是rpc框架 先回答第一个问题:什么是RPC框架? 如果用一句话概括RPC就是:远程调用框架(Remote Procedure Call) 那什么是远程调用? 通常我们调用一个PHP中的方法,比如这样一个函数方法: local…

一分钟了解什么是RPC

前言 在介绍RPC之前,先介绍另外一个概念:进程间通信(IPC,Inter-Process Communication) IPC:是指至少两个进程或线程间传送数据或信号的一些技术或方法。 我们知道进程是计算机系统分配资源的最小单位。每…

【网络】什么是RPC?RPC与HTTP有什么关系?

文章目录 RPC是什么RPC和HTTP的关系和区别[附]关于REST论文中提到的"HTTP不是RPC" 重点参考 凤凰架构-远程过程调用 既然有HTTP为什么还要有RPC? RPC是什么 RPC(Remote Procedure Call):即远程过程调用,目的是为了让计算机能够跟调…

电脑显示RPC服务器不可用是什么意思,rpc服务器不可用怎么办?rpc服务器不可用是什么意思...

很多人在使用打印机会都遇到rpc服务器不可用的问题,一时之间不知道rpc服务器不可用怎么办,无法作出有效的修复,为了解决一问题,我们首先要明白rpc服务器不可用是什么意思。 rpc服务器全称RPCremote procedure call,它是…

【网络】一文带你了解什么是RPC

一文带你了解什么是RPC 为什么要有RPC什么是RPCPRC架构组件RPC和SOA、SOAP、REST的区别RPC框架需要解决的问题?RPC的实现基础?RPC使用了哪些关键技术?主流RPC框架有哪些 为什么要有RPC http接口是在接口不多、系统与系统交互较少的情况下,初期常使用的一种通信手…

什么是RPC框架?

什么是RPC? In distributed computing, a remote procedure call (RPC) is when a computer program causes a procedure (subroutine) to execute in a different address space (commonly on another computer on a shared network), which is coded as if it wer…

什么是RPC

提到RPC(Remote Procedure Call),就躲不开提到分布式,这个促使RPC诞生的领域。 假设你有一个Calculator,以及它的实现类CalculatorImpl,那么单体应用时,要调用Calculator的add方法来执行一个加…

证书服务器rpc服务器不可用是什么意思,rpc服务器不可用是什么意思

rpc服务器不可用是什么意思 用户在使用电脑进行时间同步,安装打印机或者其它的操作的时候可能会遇到同样一个问题,那就是提示“RPC服务器不可用”,很多朋友可能对于RPC并不了解,更不知道如何解决,下面就一起来看看这个…

RPC是什么意思?

原文地址:http://baike.baidu.com/link?urlZV6b0T5v04pem1NluXrFwslmhOosGK3YAeKYBfXHF3J-cg96O7CE9j_opGpKCftpBKWqLtY9-LycDAX0ULaLpssX4IIVmK6fSdtZBzz6nbFRsA-vXppB4IV1KBfDu07pY2dgZYTn5A65RkuhPO00bf5ngU6qfujFC14JqgumBPLgqXgt1VnAzQ7xOwSbJbJkqtNcGRdPxt9f…

rpc协议服务器是什么,什么是rpc框架

第五,返回值还要发送回服务器A上的应用,也要经过序列化的方式发送,服务器A接到后,再反序列化,恢复为内存中的表达方式,交给A服务器上的应用 这里写图片描述 为什么RPC呢?就是无法在一个进程内&a…

rpc协议服务器是什么,RPC是什么?

RPC是什么? REST和RPC都常用于微服务架构中。 都是网络交互的协议规范。 通常用于多个微服务之间的通信协议。 RPC就是从一台机器(客户端)上通过参数传递的方式调用另一台机器(服务器)上的一个函数或方法(可以统称为服务)并得到返回的结果。 什么是RPC 远程方法调用…

RPC简介

1. 概述 RPC(Remote Procedure Call),即远程过程调用,是一种通过网络从远程计算机程序上请求服务、而不需要了解底层网络技术的协议。RPC协议假定某些传输协议(如TCP或UDP)的存在,为通信程序之…