SSH Key配置全攻略:从原理到实战,实现GitHub免密安全连接

一文搞定 GitHub SSH Key:生成、配置、好处全攻略 本文详细介绍了如何配置GitHub SSH Key,实现免密安全认证。主要内容包括:SSH协议的四大优势(免密登录、安全性高、稳定省心、支持自动化);Git身份配置步骤;检查本地SSH Key;生成RSA密钥对;添加密钥到SSH代理;复制公钥到GitHub;测试连接。配置完成后,开发者可通过SSH地址克隆仓库,实现push/pull全程免密操作。该方案显著提升Git使用效率,同时保障安全性,是开发者必备技能。 阅读详情

1. 项目概述:为什么我们需要SSH Key?

如果你刚开始接触Git和Github,每次推送代码都要输入用户名和密码,是不是觉得有点烦?尤其是当你开启了双重验证后,那个长长的个人访问令牌(Personal Access Token)更是让人头疼。更不用说,在一些自动化脚本或持续集成环境中,手动输入密码是完全行不通的。这时候,SSH Key就登场了,它就像一把为你专属打造的、无需密码的“物理钥匙”,用来安全地打开你和Github服务器之间的大门。

简单来说,配置SSH Key的目的,就是为了实现 免密、安全、自动化 的代码推送和拉取。它背后的原理是“非对称加密”,听起来高大上,其实理解起来很简单。你可以想象成有两把配对的钥匙:一把是“公钥”(Public Key),你可以把它想象成一把公开的锁,可以复制无数份,交给任何人(比如Github);另一把是“私钥”(Private Key),这就是那把唯一的、绝不能外泄的“钥匙”,你把它藏在自己的电脑里。当你(本地Git)想和Github服务器通信时,服务器会用你之前给它的“公钥锁”对你的请求进行加密,只有你用自己手里的“私钥钥匙”才能解开这个加密信息,从而证明“你就是你”。整个过程完全不需要传输密码,既安全又方便。

这篇文章,我就用最直白的话,带你走一遍从生成密钥到成功连接Github的全过程,不仅告诉你每一步怎么做,还会解释清楚每一步在干什么,以及你可能遇到的坑和解决办法。无论你是刚入门的新手,还是曾经配置失败过几次的老朋友,都能在这里找到清晰的答案。

2. 核心原理与准备工作拆解

在动手之前,我们花几分钟彻底搞懂核心概念,这能帮你避免后面99%的配置困惑和连接失败问题。

2.1 公钥与私钥:非对称加密的日常类比

很多人被“非对称加密”、“RSA算法”这些词吓到了。我们换个方式理解:

想象一下你去银行租一个保险箱。银行会给你两样东西:

  1. 一把锁(公钥) :这把锁的结构是公开的,银行有,你也可以把它的样式告诉任何人。任何人都可以用这把锁把保险箱锁上。
  2. 一把唯一的钥匙(私钥) :这把钥匙只有你一个人有,必须绝对保密。只有这把钥匙才能打开那把锁。

SSH连接的过程 就类似这样:

  1. 你的电脑(客户端)对Github服务器说:“你好,我是小明,我想连接。”
  2. Github服务器回应:“你说你是小明?那我这有一把小明之前给我的锁(公钥)。我随机生成一段话,用这把锁把它锁进一个盒子,发给你。如果你真的是小明,用你的钥匙打开它,把里面的话原样告诉我。”
  3. 你的电脑用本地保存的私钥成功打开了盒子,读出了那段话,并回复给服务器。
  4. 服务器验证回复正确,就确认了你的身份,允许连接。

整个过程,你的私钥(密码)从未在网络上传输过,传输的只是用公钥加密的“挑战信息”,因此极其安全。私钥一旦泄露,别人就能冒充你,所以它的保密性是第一位的。

2.2 必要的工具与环境检查

在开始生成密钥之前,确保你的“工作台”已经准备好。

1. Git Bash(Windows用户必备) 如果你是Windows用户,我强烈建议你不要使用系统自带的CMD或PowerShell来操作SSH。安装Git时自带的 Git Bash 是一个模拟Linux终端的环境,它对SSH的支持最完整,路径处理也最符合开源世界的习惯。你可以在开始菜单里找到它。

2. 检查是否已有SSH Key 打开你的终端(Mac/Linux的Terminal,或Windows的Git Bash),输入以下命令:

ls -al ~/.ssh

这个命令是列出你用户目录下 .ssh 文件夹里的所有文件。看看有没有类似以下名称的文件:

  • id_rsa 和 id_rsa.pub (RSA算法密钥对,最常见)
  • id_ed25519 和 id_ed25519.pub (Ed25519算法密钥对,更安全更短,推荐)
  • id_ecdsa 和 id_ecdsa.pub (ECDSA算法密钥对)

如果看到 id_xxx 和 id_xxx.pub 这样成对的文件(比如 id_rsa 和 id_rsa.pub ),说明你已经生成过SSH Key。 .pub 后缀的就是公钥,另一个没有后缀的同名文件就是私钥。

注意 :如果你已经有一对密钥,可以直接使用它,无需重复生成。一个私钥可以对应多个远程服务(如Github、Gitlab、Gitee、服务器等),你只需要把同一个公钥分别添加到这些服务上即可。当然,为了安全隔离,为不同服务使用不同密钥也是好习惯。

3. 确保Git已正确安装并配置基本信息 在终端里输入:

git --version

如果正确显示版本号(如 git version 2.xx.x ),说明Git已安装。接着,设置你的全局用户名和邮箱(这信息会记录在你的每次提交中):

git config --global user.name "你的Github用户名"
git config --global user.email "你的Github注册邮箱"

这个配置非常重要,它告诉Git你是谁,与SSH Key一起用于身份验证。

3. 一步步生成并配置你的SSH Key

好了,原理懂了,工具齐了,我们开始动手。整个过程就像“造钥匙-留锁样-取钥匙开门”三步。

3.1 第一步:生成属于你的密钥对

这里我推荐使用更现代、更安全、密钥长度更短的 Ed25519 算法。如果你的系统较老不支持,再回退到传统的RSA(至少4096位)。

在终端中执行以下命令:

ssh-keygen -t ed25519 -C "你的Github注册邮箱"

让我们拆解这个命令:

  • ssh-keygen :生成密钥的工具。
  • -t ed25519 :指定使用 Ed25519 算法。如果想用RSA,则改为 -t rsa -b 4096 。
  • -C "你的邮箱" :在公钥末尾添加一个注释,通常用邮箱,方便你日后识别这个密钥是用于哪个服务的。这不是密钥的一部分,只是标签。

按下回车后,你会看到交互提示:

Generating public/private ed25519 key pair.
Enter file in which to save the key (/c/Users/你的用户名/.ssh/id_ed25519):

第一个提示:询问密钥保存路径。 直接按回车,使用它建议的默认路径( ~/.ssh/id_ed25519 )即可。这样SSH客户端才能自动找到它。

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

第二个提示:为私钥设置一个“密码短语”(Passphrase)。 这是一个 非常重要的安全增强措施 。它意味着即使你的私钥文件不慎泄露,对方没有这个密码短语也无法使用它。你可以:

  • 直接回车(不设置) :最方便,但安全性最低。适合纯个人开发环境。
  • 输入一个强密码 :推荐做法。以后每次使用该密钥进行SSH操作(如git push)时,都需要输入这个密码短语来解锁私钥。如果你觉得麻烦,后面可以配置SSH-Agent来帮你临时记住密码。

输入两次相同的密码短语(或直接回车跳过)后,密钥就生成成功了。你会看到类似下面的艺术图形和提示,表示密钥已保存在 ~/.ssh/ 目录下。

3.2 第二步:将公钥“锁样”交给Github

现在,你需要把公钥(锁)交给Github保管。

1. 复制你的公钥内容 在终端中,使用以下命令 精准 地复制公钥内容。注意,要复制的是 .pub 文件的内容。

# 如果你用的是 Ed25519
cat ~/.ssh/id_ed25519.pub

# 如果你用的是 RSA
cat ~/.ssh/id_rsa.pub

执行命令后,终端会显示一大串以 ssh-ed25519 AAAAC3... 或 ssh-rsa AAAAB3... 开头,以你的邮箱注释结尾的文本。 完整地选中并复制它 ,从第一个字母到最后一个字符(包括邮箱)。

关键技巧 :你可以使用管道命令直接复制到剪贴板,避免手动选择出错。

  • Mac : pbcopy < ~/.ssh/id_ed25519.pub
  • Linux(需安装xclip) : xclip -sel clip < ~/.ssh/id_ed25519.pub
  • Windows Git Bash : cat ~/.ssh/id_ed25519.pub | clip 执行后,公钥内容就已经在剪贴板里了。

2. 在Github网站上添加公钥

  1. 登录你的Github账号。
  2. 点击右上角头像 -> Settings 。
  3. 在左侧边栏找到 SSH and GPG keys 。
  4. 点击绿色的 New SSH key 按钮。
  5. Title :给这个钥匙起个名字,比如“My Laptop - Ed25519”,方便你以后管理多台设备。
  6. Key type :保持默认的 “Authentication Key”。
  7. Key :把刚才复制的公钥内容 完整粘贴 到文本框里。确保没有多余的空格、换行。
  8. 点击 Add SSH key ,可能需要再次输入你的Github密码确认。

添加成功后,你就能在列表里看到它了。这意味着Github服务器已经收下了你的“公钥锁”。

3.3 第三步:本地测试连接与配置

钥匙给了,现在试试能不能开门。

1. 启动SSH-Agent并添加私钥(如果设置了Passphrase) 如果你生成密钥时设置了密码短语,需要先让 ssh-agent 这个“钥匙管家”帮你记住密码,这样在当前会话中就不需要每次都输入了。

# 启动 ssh-agent 后台进程
eval "$(ssh-agent -s)"
# 将你的私钥添加到 agent
ssh-add ~/.ssh/id_ed25519

执行 ssh-add 后,会提示你输入一次密码短语,输入正确后,该私钥就被agent托管了。

注意 : ssh-agent 进程只在当前终端会话有效。关闭终端后,下次需要重新执行 eval 和 ssh-add 。你可以将这两行命令添加到你的shell配置文件(如 ~/.bashrc 或 ~/.zshrc )中,实现自动启动和管理。

2. 测试与Github的SSH连接 这是最关键的一步,用来验证整个配置是否成功。

ssh -T git@github.com

你会看到类似这样的提示:

The authenticity of host 'github.com (IP地址)' can't be established.
ED25519 key fingerprint is SHA256:一串很长的指纹.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

这是在问你:“我第一次连接这个叫github.com的服务器,这是它的指纹,你信任它吗?” 输入 yes 并回车。

如果一切配置正确,你会看到成功的欢迎信息:

Hi 你的Github用户名! You've successfully authenticated, but GitHub does not provide shell access.

看到你的用户名就说明身份验证通过了!最后那句“不提供shell访问”是正常的,Github只允许你通过SSH进行Git操作,不允许登录服务器执行其他命令。

3. 将仓库的远程地址从HTTPS切换为SSH(重要!) 这是很多朋友配置完SSH Key后, git push 依然要密码的根源!检查你的本地仓库的远程地址:

git remote -v

如果显示的是 https://github.com/用户名/仓库名.git 这样的地址,那么Git还是会走HTTPS协议,不会使用SSH Key。你需要把它改为SSH地址:

git remote set-url origin git@github.com:用户名/仓库名.git

或者,如果你是新克隆仓库,直接使用SSH地址进行克隆:

git clone git@github.com:用户名/仓库名.git

SSH地址的格式固定为: git@github.com:用户名/仓库名.git 。

完成以上三步,你的SSH Key配置就大功告成了。现在尝试 git push ,应该就能享受免密推送的畅快了。

4. 多密钥管理与高级配置

当你有多台电脑,或者需要区分工作和个人账号时,就需要管理多个SSH Key。这就需要用到SSH的配置文件 ~/.ssh/config 。

4.1 创建并使用SSH配置文件

~/.ssh/config 文件可以让你为不同的主机(或域名)指定使用不同的私钥文件。

  1. 创建或编辑配置文件 :

    # 如果文件不存在,会新建一个
    vim ~/.ssh/config
    # 或者用你喜欢的文本编辑器,如 VSCode: code ~/.ssh/config
    
  2. 编写配置规则 : 假设你有两个Github账号:个人账号( personal )和工作账号( work ),并且生成了两套不同的密钥。

    # 默认配置,对所有github.com生效(如果下面的Host没有匹配)
    Host github.com
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_ed25519_personal
        IdentitiesOnly yes
    
    # 为工作账号的仓库使用特定的主机别名和密钥
    Host github-work
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_ed25519_work
        IdentitiesOnly yes
    
    • Host :你定义的别名,用于 git clone 或 ssh 命令。
    • HostName :真实的主机名。
    • User :连接用户,Git服务固定为 git 。
    • IdentityFile :指定使用的私钥文件路径。
    • IdentitiesOnly yes :非常重要!它告诉SSH只使用配置文件里指定的密钥,不要尝试其他默认密钥,避免混淆。
  3. 使用方式 :

    • 克隆个人仓库(使用默认配置): git clone git@github.com:personal-username/repo.git
    • 克隆工作仓库(使用别名): git clone git@github-work:work-username/repo.git 注意,这里的主机部分写的是我们定义的别名 github-work ,SSH会自动根据配置,使用 github.com 的主机名和对应的私钥去连接。

4.2 密钥的权限问题(常见坑点)

SSH协议对密钥文件的权限有严格限制,权限太开放会被拒绝使用,这是Linux/Unix系统的安全特性。

  • 私钥文件 (如 id_ed25519 )的权限必须是 600 (仅所有者可读写)。
  • 公钥文件 和 config 文件等权限最好是 644 (所有者可读写,其他人只读)。
  • .ssh 目录本身 的权限必须是 700 。

如果权限不对,你会遇到 Permissions 0644 for ‘~/.ssh/id_xxx‘ are too open. 这样的错误。

修复命令 :

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_ed25519   # 你的私钥文件
chmod 644 ~/.ssh/id_ed25519.pub ~/.ssh/config ~/.ssh/known_hosts

在Windows的Git Bash下,通常不需要手动设置,但如果你从其他地方复制了密钥文件过来,也可能需要执行上述命令。

5. 实战问题排查与技巧实录

配置过程很少一帆风顺,下面是我和同事们踩过的一些坑和解决方案,希望能帮你快速排雷。

5.1 连接测试失败原因大全

当你执行 ssh -T git@github.com 失败时,别慌,按以下顺序排查:

1. 错误: Permission denied (publickey). 这是最常见的错误,意思是“公钥权限被拒绝”。说明服务器不认可你提供的私钥/公钥对。

  • 排查点1:公钥是否正确添加? 去Github的SSH keys页面,仔细核对粘贴的公钥内容是否完整、无多余字符。一个快速验证方法是,在本地再次 cat ~/.ssh/id_ed25519.pub ,和网页上显示的对比,确保一模一样。
  • 排查点2:是否使用了正确的私钥? 如果你有多个密钥,SSH可能尝试了错误的那个。在测试命令中显式指定私钥: ssh -T -i ~/.ssh/你的私钥文件 git@github.com 。如果这样成功了,说明你需要配置 ~/.ssh/config 文件来指定密钥。
  • 排查点3:ssh-agent是否加载了正确的密钥? 运行 ssh-add -l 查看当前agent代理了哪些密钥的指纹。如果没有你的密钥,用 ssh-add ~/.ssh/你的私钥文件 添加它。
  • 排查点4:远程地址是否是SSH协议? 再次用 git remote -v 确认,务必是 git@github.com:... 开头。

2. 错误: Could not resolve hostname github.com 无法解析主机名,网络问题。

  • 排查点 :检查你的网络连接,尝试 ping github.com 看是否能通。有时DNS有问题,可以尝试刷新DNS缓存(Windows: ipconfig /flushdns , Mac/Linux: sudo dscacheutil -flushcache 或 sudo systemd-resolve --flush-caches )。

3. 错误: Connection timed out 或 Connection refused 连接超时或被拒绝。

  • 排查点1:防火墙/代理设置 。如果你在公司网络或使用了网络代理,SSH的默认22端口可能被屏蔽。Github也支持通过HTTPS端口443进行SSH连接。编辑 ~/.ssh/config ,为github.com添加以下配置:
    Host github.com
        HostName ssh.github.com
        User git
        Port 443
        IdentityFile ~/.ssh/id_ed25519
    
    这里我们把 HostName 改成了 ssh.github.com ,并且指定端口为 443 ,这通常能绕过公司防火墙。
  • 排查点2:SSH服务端问题(极少见) 。可以访问 Github Status 查看服务状态。

5.2 使用SSH-Agent管理密码短语的进阶技巧

如果你为私钥设置了强密码短语,又不想每次 git 操作都输入,有几种持久化方案:

1. 将ssh-agent集成到桌面环境(Linux/Mac) 大多数桌面环境(如Gnome, KDE, Mac的Keychain)会自动启动并管理 ssh-agent 。你只需要在首次添加密钥时输入一次密码,桌面环境会帮你记住直到下次重启。

2. 在Windows上使用Pageant(PuTTY套件)或Win32-OpenSSH Agent 如果你使用Git for Windows,它自带的OpenSSH Agent可以与Windows服务集成。以管理员身份打开PowerShell或Git Bash,执行:

# 将ssh-agent设置为自动启动的服务
Get-Service ssh-agent | Set-Service -StartupType Automatic
Start-Service ssh-agent
# 添加密钥
ssh-add ~/.ssh/id_ed25519

这样设置后,每次开机,ssh-agent服务会自动运行,你只需要在登录后第一次使用 ssh-add 时输入密码短语。

3. 使用 ssh-add -K (Mac)或 ssh-add -w (某些Linux)将密码存入钥匙串 在Mac上,使用 ssh-add -K ~/.ssh/id_ed25519 可以将密码短语安全地存储到macOS的钥匙串(Keychain)中,以后重启终端也无需重新输入。

5.3 密钥的备份与迁移

你的私钥是访问所有配置了对应公钥服务的“总钥匙”,务必妥善备份。

  • 备份什么 :备份整个 ~/.ssh 目录(尤其是里面的 id_xxx 私钥文件和 config 配置文件)。公钥( .pub 文件)可以随时重新生成,但私钥丢了就再也找不回来了。
  • 如何备份 :将 ~/.ssh 目录压缩加密后,存储到安全的离线位置,如U盘或加密的云存储。
  • 迁移到新电脑 :
    1. 将备份的 ~/.ssh 目录内容复制到新电脑的相同路径下。
    2. 务必执行 chmod 命令修正文件权限(见4.2节)。
    3. 在新电脑上,将公钥( .pub 文件)内容重新添加到Github等网站(因为网站只认公钥,不认设备)。
    4. 测试连接 ssh -T git@github.com 。

配置SSH Key虽然前期有一些学习成本,但它是一次投入、长期受益的操作。一旦配置成功,你就能彻底告别输入密码的繁琐,无论是日常开发、脚本自动化还是CI/CD流水线,都能享受到无缝、安全的高效体验。希望这篇超详细的指南能帮你扫清所有障碍。如果在操作中遇到任何其他问题,不妨多利用 ssh -vT git@github.com 这个命令,它会输出非常详细的连接过程日志,是排查问题的终极利器。

Git SSH密钥配置全攻略:从原理到实践实现免密安全访问 SSH(Secure Shell)是一种广泛应用于远程登录和加密数据传输的网络协议,其核心机制之一是基于非对称加密的密钥认证。该技术通过生成公钥和私钥对,利用‘挑战-应答’模式,在无需传输密码的前提下完成身份验证,从而在安全性和便利性上显著优于传统的密码认证。在软件开发和运维领域,SSH密钥认证是实现自动化流程、保障代码仓库安全访问的基石技术。特别是在持续集成/持续部署(CI/CD)、自动化脚本和团队协作场景中,免密认证是提升效率、消除人工干预的关键。本文将深入解析SSH密钥认证的工作原理,并详细演示如何为 阅读详情

相关推荐

SSH密钥密码重置与免密配置全攻略:从报错到丝滑Git操作

SSH(安全外壳协议)是远程登录和文件传输的行业标准,其核心机制基于非对称加密。通过公钥和私钥配对,SSH实现了比传统密码更安全的身份认证。在开发实践中,SSH密钥广泛用于连接GitLab、GitHub等代码仓库以及各类服务器。然而,为提升安全性而设置的私钥密码一旦遗忘,便会阻碍自动化流程,成为开发效率的瓶颈。其技术价值在于,通过`ssh-keygen`、`ssh-agent`等工具,可以在保障安全的前提下,重置或移除密钥密码,并实现会话级的密钥缓存,从而让`git clone`、`git push`等操作

weixin_30546189的博客 448

MySQL DATE类型详解:存储原理、优化技巧与实战案例

DATE类型是关系型数据库中处理日期数据的基础数据类型,采用3字节存储YYYY-MM-DD格式数据,范围从1000-01-01到9999-12-31。其核心原理在于无需时区转换的日期存储机制,适合需要精确日期的业务场景。在技术价值层面,合理使用DATE类型能避免VARCHAR存储带来的性能损耗和隐式转换问题。实际应用中需特别注意零日期(0000-00-00)处理和日期范围溢出问题,电商促销、金融交易等对日期敏感的系统尤其需要优化日期查询性能。通过建立函数索引、避免WHERE子句中使用日期函数等优化手段,可显

weixin_34393428的博客 507

Git SSH密钥免密配置全攻略:告别重复输入passphrase

SSH密钥认证是远程服务器安全访问和代码版本控制的核心机制,它基于非对称加密原理,通过公钥和私钥配对实现身份验证。在实际开发中,为私钥设置passphrase能显著提升安全性,但每次Git操作都需手动输入,会严重打断工作流。其技术价值在于通过ssh-agent密钥代理服务,将解密后的私钥缓存在内存中,实现单次认证、多次使用。这一机制广泛应用于持续集成、自动化部署及日常开发场景。本文聚焦于解决Git操作中反复要求输入SSH密钥passphrase的痛点,通过详解ssh-agent在Windows、macOS和

weixin_34409357的博客 978

一段关于对象引用的形象解释

我们先看一段代码class Dog ...{  String name;  public static void main(String[] args) ...{    // 我知道这段代码就是让d指向了堆中的Dog对象,但书里说smalldog也指向了堆中的同一个Dog对象    Dog d = new Dog();    d.go(d);  }  void go(Dog smalldo

老紫竹的专栏 2413

【超简单】Ubuntu下GitHub与SSH Key配置全攻略

本文详细介绍了在Ubuntu系统下配置GitHub与SSH Key的全流程,包括密钥生成、GitHub后台配置、连接测试及常见问题解决方案。通过SSH Key连接GitHub,不仅提升代码同步的安全性,还能避免频繁输入密码的麻烦,特别适合开发者日常使用。

weixin_30342209的博客 475

SSH密钥配置全攻略:从原理到实战,解决开发中的连接难题

SSH(Secure Shell)是一种广泛应用于远程登录和安全文件传输的网络协议,其核心是基于非对称加密的身份认证机制。通过生成公钥和私钥对,SSH实现了无需密码传输的高安全性认证,有效防止了中间人攻击和密码泄露风险。这一技术为自动化脚本、持续集成/持续部署(CI/CD)流程以及远程开发环境提供了基础安全支撑。在实际应用场景中,开发者常需在Linux服务器、Git平台(如GitHub、GitLab)以及各类IDE工具间建立安全连接。针对常见的权限错误、多密钥管理混乱等问题,本文聚焦于SSH密钥配置的实战技

weixin_34059951的博客 612

C语言 变量与指针 形象化解释

初学者可能觉得C语言指针难以理解,而指针的确是C的精华所在,所以必须弄清它的本质 我一直喜欢把程序设计抽象化的定义具体类比到实例来理解,这样更容易解释和说明,别人也容易听懂 这次先拿指针与引用开刀吧!我们把变量具体化成生活中的地址来解释 首先来个声明: int stuAddr = 5; int &hustStuAddr = stuAddr; printf("%s",&stuAddr

tianhaoray的专栏 1303

SSH密钥配置全攻略:从原理到实践,安全连接服务器与GitLab

在远程服务器管理和代码协作场景中,安全高效的身份认证机制至关重要。非对称加密技术为此提供了核心解决方案,它通过公钥与私钥的配对,实现了无需传输秘密信息即可完成身份验证。这一原理在SSH(Secure Shell)协议中得到了广泛应用,形成了SSH密钥认证方案。该技术不仅从根本上避免了密码在传输过程中被截获或遭受暴力破解的风险,还极大地提升了运维与开发的工作效率。其核心价值在于为服务器访问、代码推送等高频操作构建了一条专属的加密通道。典型的应用场景包括连接腾讯云等云服务器、向GitLab或GitHub等平台推

weixin_33829657的博客 449

JAVA中在类中声明方法的时,public void dog和直接void dog有什么区别?

public void dog 称之为公共的。被它修饰的类,属性和方法不仅可以跨类访问, 而且允许跨包(package)访问。 void dog没有加任何修饰符,我们通常说这是默认的访问模式。这种访问模式只允许在同一个包中进行访问。 除了这两个修饰符外,还有private和protected两种修饰符。 private被称为是私有的。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不

3947

Git与SSH密钥配置全攻略:从原理到实战,彻底解决认证与连接问题

在分布式版本控制系统与安全网络协议的交汇处,Git与SSH的结合构成了现代软件开发的效率基石。SSH(Secure Shell)通过非对称加密与密钥对认证机制,为远程通信建立了一条加密隧道,其核心原理在于公钥与私钥的配对使用——公钥可公开分发,私钥则严格保密。这种设计不仅消除了频繁输入密码的繁琐,更通过加密通道确保了代码传输的安全性,为持续集成、自动化部署等工程实践提供了可靠的身份验证基础。在实际应用场景中,开发者常需配置SSH密钥以连接GitHub、GitLab等代码托管平台,过程中可能遇到“Permis

340

关于变量的详细生动的解释

以故事的形式讲解变量,生动形象,让读者更深入的理解变量,以便灵活运用变量

Git+SSH配置全攻略:从原理到实战,实现安全免密代码管理

在软件开发中,版本控制系统是团队协作和代码管理的核心工具,而Git作为分布式版本控制系统的代表,其与远程仓库的安全通信机制尤为关键。SSH协议基于非对称加密原理,通过公钥和私钥的配对实现身份认证,为Git操作提供了既安全又便捷的通道。这种技术组合的价值在于彻底消除了频繁输入密码的繁琐,显著提升了开发效率,并为持续集成和自动化部署铺平了道路。在实际应用场景中,无论是个人开发者管理多个平台的代码仓库,还是企业团队构建安全的内部协作流程,掌握Git与SSH的集成配置都是必备技能。本文聚焦于**SSH密钥对**的生

weixin_34116110的博客 361

WRF实战:自定义Vtable解析ECMWF海温数据的关键步骤与技巧

本文详细介绍了在WRF模型中自定义Vtable以解析ECMWF海温数据的关键步骤与技巧。通过解剖GRIB文件、编写自定义Vtable条目以及配置METGRID.TBL,解决了ECMWF数据与WRF模型对接的难题,为海洋气象和台风模拟研究提供了高精度数据输入方案。

weixin_29279101的博客 335

【超详细】VSCode连接GitHub全攻略:上传/克隆代码一步到位

VSCode:轻量级代码编辑器,内置Git支持,无缝集成GitHub。通过本文,你已掌握VSCode与GitHub的完整协作流程。GitHub:全球最大代码托管平台,支持版本控制和协作开发。输入GitHub仓库HTTPS地址(如。:个人项目管理、团队协作、开源贡献。点击VSCode左侧活动栏的。或通过VSCode界面点击。忽略无需上传的文件(如。提交历史中右键提交 →。:检查密钥是否添加正确。:快速执行Git命令。

emem_0724的博客 2万+

树莓派4B+Ubuntu22.04+思岚RPLIDAR C1激光雷达应用

树莓派+Ubuntu22.04+思岚RPLIDAR C1激光雷达简单应用

techfuture的博客 3703

单细胞monocle3分析流程再整理

定义root cell, 推断拟时方向# 结合先验知识自定(示例数据)# 可视化示例数据,起点是随便点的。

zfyyzhys的博客 2100

多个 GitHub 账户SSH 密钥配置全攻略

在工作和个人项目中,我们经常需要使用多个 GitHub 账户。如果不进行合理配置,Git 操作(如 git push、git pull)总是使用默认账户,容易出错。本文记录了我在 Windows 上删除旧账户、生成新的 SSH 密钥,并实现多个 GitHub 用户共存的整个流程。

和大家一起涨芝士 1201

【Google Play 上架】内部 / 封闭 / 开放 测试全解 — “只跑一个就能上架”?不行!

Google Play新规要求个人开发者账号在2023年11月13日后必须通过封闭测试(Closed testing)才能上架应用。封闭测试需要至少12名测试者连续14天保持参与状态,而内部测试和开放测试不能替代这一要求。三类测试轨道各有特点:内部测试用于快速内部验证,封闭测试是上架必经环节,开放测试面向更广泛用户但非必需。上架流程建议先内部测试修复问题,再启动封闭测试满足14天要求,最后申请生产发布。组织账号和早期个人账号可能不受此限制。开发者应提前规划测试人群,确保持续测试周期,并关注Play Cons

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 2799

SSH密钥配置全攻略:告别GitHub密码认证,实现安全高效开发

在软件开发中,身份认证是保障代码安全与协作效率的基础环节。传统的账号密码机制存在易泄露、需频繁输入等痛点,而非对称加密技术通过公钥与私钥的配对,实现了更安全的认证方式。其核心原理是利用数学难题(如大素数分解)生成一对密钥:公钥可公开分发,私钥严格保密。这种机制的技术价值在于,它避免了密码在网络中传输,从根本上防止了窃听和中间人攻击,同时通过数字签名确保了操作不可抵赖。在应用场景上,非对称加密广泛应用于远程登录、代码仓库认证、数据传输加密等领域。本文聚焦于如何利用SSH协议的非对称加密特性,为GitHub等代

weixin_34008805的博客 396

36、T5L 迪文屏C51开发之绘制动态曲线

T5L 迪文屏C51开发之绘制动态曲线1、介绍2、例程功能简介3、GUI界面设计3、C51程序设计 1、介绍   本文将利用DGUS Tool软件中的【动态曲线控件】来绘制曲线效果,在T5L迪文屏中总共支持8个通道的曲线,而曲线数据是需要缓冲区的,如果 8 通道曲线同时使用,0x1000-0x4FFF 将作为曲线缓冲区地址,此时该部分变量地址不能被其他控键使用,其他控键地址使用范围为0x5000-0xFFFF,当某曲线通道不被使用时,那么其所对应的缓冲区地址可以做其他用途,曲线通道具体的地址分布如下图所示:

嵌入式羊圈 3130

32GB Jetson Orin SOM 不能刷机问题排查

拿到了一个新的Orin SOM,当用orin Devkit CVB或定制的CVB不能用Linux_For_Tegra刷机,flash日志(JetPack5.0DP和5.0.1DP都失败了) 2. 确认mb2配置中将CVB的eeprom读取大小设置是否为0 ? 已经确认是正常的 在定制的orin cvb flash上使用Orin devkit som,启动是成功的。但新得到的Orin som并不工作可以排除理由:使用Orin Devkit CVB和Orin SOM(不是Devkit SOM)仍然不能

jzwjzw19900922的博客 1499

Ubuntu SSH密钥配置全攻略:从GitHub连接到多账号管理

SSH(安全外壳协议)是用于远程登录和文件传输的核心网络安全协议,其核心机制是非对称加密技术。该技术通过公钥与私钥配对工作,公钥用于加密数据,私钥用于解密,实现了无需传输密码的安全认证。在软件开发和DevOps实践中,SSH密钥认证极大提升了自动化脚本执行、持续集成/持续部署(CI/CD)流程的安全性及操作效率。特别是在Git版本控制场景中,配置SSH密钥后,开发者可免密与GitHub、GitLab等代码托管平台安全交互,实现高效的代码推送与拉取。本文聚焦于Ubuntu系统环境,详细解析SSH密钥的生成、代

weixin_33857679的博客 360

激光雷达点云配准:ICP与NDT算法详解

激光雷达点云配准:ICP与NDT算法详解​ ,人工智能,计算机视觉,大模型,AI,本文深入解析激光雷达点云配准的ICP与NDT算法。阐述了点云配准基础概念与评价指标,详解ICP算法原理、流程、最优变换矩阵计算、优缺点及改进版,给出Python代码示例;同样解析NDT算法的原理、流程、模型构建、优缺点、参数选择与代码示例。还对比两者在精度、效率、鲁棒性和适用场景的差异,提供算法选择建议,介绍实际应用案例、常见问题及解决方法,探讨算法发展趋势。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 15万+

SSH密钥配置全攻略:从原理到多平台实战与排错

SSH(Secure Shell)是一种用于安全远程登录和数据传输的网络协议,其核心安全机制基于非对称加密技术。该技术通过生成一对数学上关联的公钥和私钥实现身份认证,其中公钥可公开分发,私钥必须严格保密。这种机制不仅解决了传统密码认证易被拦截和暴力破解的风险,还为实现自动化、安全的通信通道奠定了基础,广泛应用于服务器管理、代码协作和自动化运维等场景。在代码协作领域,SSH密钥已成为连接GitHub、GitLab等主流代码托管平台的**首选认证方式**,它能显著提升开发效率和安全性。本文将深入解析SSH密钥的

weixin_30274627的博客 436

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Windows下Git与Github联动全攻略:从SSH配置到项目推送的避坑指南

本文详细解析了Windows环境下Git与GitHub的高效联动方法,从SSH密钥配置到项目推送的全流程避坑指南。重点介绍了SSH密钥生成、权限管理、仓库初始化及推送策略,帮助开发者解决常见连接问题,提升项目管理效率。

jwt8token的博客 576

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: 医学论文AI工具应用:临床数据处理与病例描述优化
下一篇: ReAct主循环:AI代码生成的思考-行动引擎架构解析
java2000_test
博客等级 码龄19年 10粉丝 320原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值