布

布里莲拉夫杂谈

抬头望月

  • 首页
  • Halo
  • 关于
Home 对于ssh的一些记录。。
文章

对于ssh的一些记录。。

Posted 2022-06-2 Updated recently
By pezayo
7~10 min read

SSH 概述

ssh 本质是 Secure Shell ,ssh协议安全,可靠,有效。现在使用量大,普遍。比如我就在用。

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。

以上来自百度百科 (严谨)

关于 SSH 的使用还是相对比较麻烦的。还是一样的总是忘,忘了查,查了记,记了忘。并且每次都会回到最开始的理解,即我后来即使有了自己的一定理解过后,还是会忘。。。。

SSH 的一些配置记录和方法

目录

SSH 在操作系统中的目录形式都表现为有一个 ~/.ssh 的目录。Linux 下目录即为使用者家目录下,Windows 中则为 C:\Users\你的用户名 这个目录下。在这个.ssh 目录中会有一些必要的配置文件之类的一些东西存储在其中。且操作系统有关 SSH 的任何操作和记录都在其中,与其他无关。

文件

.ssh 目录下的文件主要是这些(至少我的操作系统上用到并产生的文件是这些)

  1. config
  2. id_rsa.pub/id_rsa
  3. know_hosts/know_hosts.old
  4. authorized_keys

其中 config 是一些配置,是关于多个 ssh 目标时使用 config 来进行区分。 id_rsa 是本机的私有密钥,pub 后缀则是公钥。传输认证时服务器事先存储主机(客户机)的公钥,然后主机传输私钥进行请求,服务器根据存储的公钥进行识别。authorized_keys 作用于服务器,识别标记主机,使得主机在每次请求连接时都不用再输入密码。

其中 id_rsa 可以用 genkey 命令生成。我在Linux中在配置Git时使用了这个,但是锁定的是我的 Git 邮箱账户,而非我的 Linux 系统主机。当时使用的命令为

ssh-keygen -t rsa -C "youremail@example.com"

使用的便是我的邮箱,后来我又使用了ssh-keygen 直接生成了主机名字的 id_rsa.pub/id_rsa 的密钥对。

config

config 的具体配置如下。一般情况下要将 git 的 User 设置为 git 或者干脆不设置,才可以正常运行,我试过将 User 改为我的 github,gitee 帐号对应的用户后无法正常工作。貌似也确实是这样,估计是我的用户名其实相当于是github下的一个路径而已。因为就github和gitee的提示而言,他们都是git@github.com/username/project.git 的路径。所以类比于 User@HostName ,这里也应该是填写 git。目前还是一种自己的猜测。

如果连这个 config 都不进行设置的话,在使用 ssh 的时候将会出现permission denied (Publickey) 的报错。

Host github.com
  HostName github.com
  User git
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa

Host gitee.com
  HostName gitee.com
  User git
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa_gitee

可以使用ssh -vT github.com/gitee.com 或者ssh github.com/gitee.com 来进行验证。以下是直接使用ssh进行测试连接的。其中的第一行PTY allocation request failed on channel 0暂时还不清楚。有待后续研究试错。

$> ssh git@github.com
PTY allocation request failed on channel 0
Hi xxx(你的用户名)! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.
$> ssh github.com
PTY allocation request failed on channel 0
Hi xxx(你的用户名)! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

其中具体参数的讲解可以看看库这个某乎的链接 。

其中上面的Host 类似于是一个别名,Host 相当于是 User@HostName。例如这里面 Host 的gitee.com 就相当于是 git@gitee.com 。假如是一个远程主机的话就可以写用户名@主机名了。比如我的虚拟机的用户名,和我虚拟机的主机名,填写上去是可以正常运行的。

record
useful ssh
License:  CC BY 4.0
Share

Further Reading

Aug 29, 2026

OpenCode 跨会话记忆 + 会话内不失真压缩上下文方案

省流版 claude-mem 负责全部将细节注意记住,跨会话记忆存储当前 top 方案 magic-context 负责会话内上下文裁剪,和近期记忆保存。记忆方面不强,但是会话内保持任务目标和遵守规范行为进行进行上下文裁剪压缩 Strict-Doc 负责记录固化的项目文档文件,记忆文件。主要是方便人

Aug 9, 2022

Qt 常用语法

Qt Creator 工程 初始化 namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nu

Aug 5, 2022

STM32 HAL库使用&学习

STM32F407 我在网上看到很多奇奇怪怪的东西。其中就有一个STM32F4discovery,这个我不知道是啥,但总是会看到。包括使用CLion时配OpenOCD时都会跳出它的config文件。但最后我选的还是STM32F4xx的config。在此还得感谢@Keiler提供的友情帮助,帮我暂时配

OLDER

Altium Designer使用技巧

NEWER

居家必备奇技淫巧

Recently Updated

  • OpenCode 跨会话记忆 + 会话内不失真压缩上下文方案
  • wine 和 deepin-wine 安装 wechat QQ
  • Multisim Edu PLD 的使用
  • rime double_pinyin_fly with fcitx in Ubuntu
  • Qt 常用语法

Trending Tags

input method ssh Qt markdown install software STM32 software shortcuts latex details code file

Contents

©2026 布里莲拉夫杂谈. Some rights reserved.

Using the Halo theme Chirpy