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

【Mac】Mac终端下使用Corkscrew + SSH通过代理连接内网服务器 问题: 对于通过代理访问内网服务器,我们需要通过http代理访问代理服务器,再访问内网服务器。而mac不支持xshell从而无法为SSH连接增加代理,所以选择corkscrew工具。 解决步骤: 1、通过Homebrew包管理工具(Homebrew的安装和使用见链接)安装corscrew brew install corkscew # 无需sudo 2、修改~/.ssh/config ... 阅读详情

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

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

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

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

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

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

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

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

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

  • SSH 服务器运行在 ubuntu 18.04.1
  • SSH 客户端在 Windows10

上一小节中使用命令

ssh -i .\id_rsa  tyustli@192.168.10.18

可以使用 SSH 远程连接到 SSH 服务器,但是每次都需要指定秘钥,本小节就梳理一下 SSH 代理相关的知识,有了 SSH 代理之后就不需要自己每次手动输入秘钥了

SSH 代理使用步骤

  • 启动 SSH 代理程序
  • 将对应私钥添加到 ssh 代理中,在添加私钥时,如果提示输入私钥的密码,正确的输入私钥密码即可将私钥添加到 ssh 代理中
  • 连接到远程用户
  • 私钥管理

SSH 代理介绍

ssh 代理是一个程序,它可以帮助我们管理私钥,ssh-agent 即为 ssh 代理程序

那么什么时候需要 ssh 代理帮助我们管理私钥呢?当遇到如下情况时,我们会需要 ssh 代理。

  • 使用不同的密钥连接到不同的主机时,每次都需要手动指定对应的密钥,ssh 代理可以帮助我们选择对应的密钥进行认证,不用手动指定密钥即可进行连接

  • 当私钥设置了密码,我们又需要频繁的使用私钥进行认证时,ssh 代理可以帮助我们免去重复的输入密码的操作

启动 SSH 代理

以管理员身份启动 powershell ,在 powershell 输入如下命令

ssh-agent

如果启动失败,会报错,例如错误

unable to start ssh-agent service, error :1058

设置 SSH 代理程序自动启动

Set-Service -Name ssh-agent -StartupType Automatic

StartupType 类型可以取如下参数

  • Automatic 2
    指示服务将由(或已由)操作系统在系统启动时启动。 如果一个自动启动的服务依赖于手动启动的服务,则该手动启动的服务也会在系统启动时自动启动。

  • Boot 0
    指示该服务是由系统加载程序启动的设备驱动程序。 此值仅对设备驱动程序有效。

  • Disabled 4
    指示服务已禁用,因此无法由用户或应用程序启用。

  • Manual 3
    指示服务仅由用户(使用服务控制管理器)或应用程序以手动方式启动。

  • System 1
    指示该服务是由 IOInitSystem 函数启动的设备驱动程序。 此值仅对设备驱动程序有效。

上述命令设置 SSH 代理程序自动启动,再次在 powershell 命令行中输入 ssh-agent 命令即可启动 SSH 代理程序
启动之后查看 SSH 代理程序

ps

命令执行之后结果如下

Handles  NPM(K)    PM(K)      WS(K)     CPU(s)     Id  SI ProcessName
-------  ------    -----      -----     ------     --  -- -----------
  ...
  80       7     1388       5688       0.02  26776   0 ssh-agent
  609      32    31456      72296       6.03   6916   1 StartMenuExperienceHost
  ..

如果想关闭 SSH 代理程序,使用命令

kill 26776 // kill pid

询问是否关闭 SSH 代理程序

确认
是否确实要针对以下项执行 Stop-Process 操作: ssh-agent(26776)?
[Y] 是 (Y)  [A] 全是 (A)  [N] 否 (N)  [L] 全否 (L)  [S] 暂停 (S)  [?] 帮助 (默认值为 “Y”): Y

输入 Y 即可

添加 SSH 私钥

私钥添加,将私钥交给 SSH 代理程序管理

ssh-add .\id_rsa

添加过程中会报错

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for '.\\id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.

这里提示私钥文件文件添加失败,原因是太多用户可以访问这个私钥,该私钥被忽略。所以需要修改私钥文件的权限

在 Linux 中可以使用 chmod 命令,但是 Windows 并没有这个命令

在 windows 中对应的命令是 icacls

具体 icacls/cacls 的命令参数可以参看相关的帮助文档(powershell 直接输入命令即可查看命令帮助)

给系统用户读取权限

 icacls .\id_rsa /c /t /grant system:R

禁用继承

icacls .\id_rsa /c /t /inheritance:r

给当前用户读取权限

 icacls .\id_rsa /c /t /grant tyustli:R # tyustli 为当前用户名

上述命令均会有如下命令执行结果

已处理的文件: .\id_rsa
已成功处理 1 个文件; 处理 0 个文件时失败

还有一种错误是

invalid format 

这是因为 Linux 和 windows 两种系统对换行的处理不一样,Liunx 中换行 \n 但是在 windows 中换行是 \r\n

文件权限修改完成之后再次输入

ssh-add .\id_rsa

提示 SSH 私钥添加成功

Identity added: .\id_rsa (.\id_rsa)

远程连接

私钥添加到 SSH 代理程序之后,直接连接即可

ssh tyustli@192.168.10.18

此时不需要指定私钥,也不需要输入登录密码即可直接连接(如果私钥有密码,需要输入私钥的密码)

退出连接

exit

私钥管理

查看私钥管理相关命令

ssh-add --help
  -l          List fingerprints of all identities.
  -E hash     Specify hash algorithm used for fingerprints.
  -L          List public key parameters of all identities.
  -k          Load only keys and not certificates.
  -c          Require confirmation to sign using identities
  -t life     Set lifetime (in seconds) when adding identities.
  -d          Delete identity.
  -D          Delete all identities.
  -x          Lock agent.
  -X          Unlock agent.
  -s pkcs11   Add keys from PKCS#11 provider.
  -e pkcs11   Remove keys provided by PKCS#11 provider.
  -q          Be quiet after a successful operation.
ssh反向代理实现内网穿透【亲测可用】 本文在文镜老哥的指导下,使用第2种ssh反向代理的方式,通过内网打包服务器,借助外网服务器,实现在家访问我们的打包服务。 阅读详情

相关推荐

OpenSSH概念详解以及SSH Agent代理认证进行密钥登陆

OpenSSH(Open Secure Shell)是一种加密的通讯协议,用于在网络上安全地进行远程登录和其他网络服务。它提供了多种安全机制,包括基于密钥的认证和密码保护,以保护数据在客户端和服务器之间传输的安全。

夏目艾拉的学习之路 1469

SSH协议中隧道与代理的用法详解

关于ssh协议中的隧道连接与代理的相关用法详解

knight-yun的博客 8518

Putty建立SSH隧道代理上网

代理服务器(Proxy Server)的工作原理是:当客户在浏览器中设置好Proxy Server后,你使用浏览器访问所有WWW站点的请求都不会直接发给目的主机,而是先发给代理服务器,代理服务器接受了客户的请求以后,由代理服务器向目的主机发出请求,并接受目的主机的数据,存于代理服务器的硬盘中,然后再由代理服务器将客户要求的数据发给客户。由于一般代理服务器拥有较大的带宽,较高的性能,并且能够智能地缓存已浏览或未浏览的网站内容,因此,在一定情况下,客户端通过代理服务器能更快速地访问网络资源。

悦分享 3778

ssh设置网络代理

linux网络代理

Dao_pin的博客 1659

AI数字人:口播与唇形同步的福音,支持本地部署/批量生成/口齿清晰

你也可以直接输入语音,虚拟化身会根据语音的节奏和语调,同步做出相应的动作和表情,表现更加生动。不过这依然是个值得关注的工具。借助先进的 AI 算法,Heygem 高精度捕捉五官、轮廓等特征,构建逼真的虚拟模型。同时,它还能克隆语音,捕捉人声的细微特征,支持多种语音参数设置,打造高度相似的音色效果。打开设置,调整镜像存储位置,镜像文件比较大70~80G,选择合适的盘,设置完成后点击“Apply & Restart”。数字人视频画面与声音高度同步,口型匹配自然流畅,智能优化音视频效果,带来极佳的视听体验。

m0_72580657的博客 5850

Unity安卓打包实战:SDK与JDK配置全攻略

本文详细介绍了Unity安卓打包过程中SDK与JDK的配置方法,包括工具下载、安装步骤、环境变量设置及常见错误排查。通过实战指南帮助开发者快速完成Unity安卓打包环境搭建,提升开发效率。

weixin_30338481的博客 409

使用SSH远程转发让远程服务器使用代理

远程服务器代理

weixin_44779937的博客 4719

WinForm制作文件传输助手,Tcp局域网传输文件,传输速度受限于宽带和硬盘速度上限

文件传输助手为什么会出现,是因为项目上有些特殊的地方限制太多了,连插硬盘都需要关软件,联网又要开很不方便,网络限制一般软件只能局域网通信,还要开特定的端口等,你才能在电脑上通信,这样和机房的服务器远程的时候文件就不好拿过去,又不可能每次都去开机房的门。现在这个功能比较简单,只能单文件发送,但是其实比U盘硬盘方便,一般的六类网线传输压缩包在50M/s以上,U盘硬盘复制就不行了,特别如果是像我们学校这种网络结构,一个学校都在一个局域网,那真的方便!普通的局域网用特定IP和端口,通信也是很方便的。

m0_69233031的博客 1664

ssh使用代理登录远程服务器

使用ssh登录远程服务器,如果不需要经过代理,那么是非常简单的: ssh -p port username@ipaddress 使用代理的时候,网上普遍使用的方法是: ssh -p port -o "ProxyCommand=nc -X 5 -x proxyhost:proxyport %h %p"username@ipaddress 也就是添加一个代理选项,通过nc命令,我们可以选...

荆棘鸟的博客 6604

NVIDIA DGX Spark 开发环境深度配置与优化指南

定期系统维护每月执行一次完整的系统更新监控存储空间使用情况,及时清理临时文件定期检查硬件健康状况开发习惯优化使用tmux或screen管理长时间运行的任务配置自动化测试和代码质量检查建立完善的项目文档体系性能调优周期每月重新评估和调整系统参数根据工作负载特点优化容器配置持续监控和记录性能指标DGX Spark作为一个强大的AI开发平台,其真正的价值需要通过精细的环境配置和优化才能充分发挥。本文提供的配置方案和建议均基于实际生产环境经验,旨在帮助开发者构建稳定、高效、可维护的开发环境。

time_days的博客 3665

统信UOS专业版服务器无人值守安装

(2)、专业版:主要针对整机厂商、政府单位、事业单位和企业用户使用,cpu目前支持x86、arm、mips、sw64和LoogngArch架构,试用期免费获得90天的使用,随后需要单位采购授权,获得正式激活码后才可以正常使用。其中企业版代号为d,行业版为a/c,欧拉版则为e,在最近的更新中,c版已经停止更新迭代,后续行业版本将都为a版,版本代号体现在镜像名字中以及版本号上,例如1050d则表示企业版1050版本。UOS系统服务器版本分为:专业版(d版)、行业版(a版)、欧拉版(e版)

靠谱运维 2243

在Windows上使用SSH隧道的代理

This article is an instruction of how to use Proxy Using SSH Tunnel on a Windows machine. The mechanism is similar as the one in Proxy Using SSH Tunnel with “Proxy listening to localhost port only”. 本...

cuma2369的博客 6291

基于Jeecgboot3.9.0的flowable7.2.0流程增加一个OA请假单功能例子(二)

基于Jeecgboot3.9.0的flowable7.2.0流程增加一个OA请假单功能例子(二)

宁波阿成的博客 195

SSH反向代理使用

SSH反向代理 先说说什么是代理,源服务器由于各种原因无法访问目标服务器提供的服务,但是存在一个agent服务器,源服务器可以访问它,它可以访问目标服务器,那么源服务器的消息发给他,它在把请求转发给目标服务器,就间接的实现了源服务器访问目标服务器的目的。 这就是代理,也是一般所说的正向代理,正向代理一般是代理客户端(源服务器,信息的请求者)。这时候,在公网上发送的信息的请求者就是代理服务器的身份,而不是真正客户端的身份。好处显而易见,隐藏客户端的身份。 反向代理 百度百科:当一个代理服务器能够代理外部网络

weixin_41038905的博客 5665

Vue3 - Element Plus 组件库 Tabs 标签页右侧区域插入按钮,<el-tabs> / <el-tab-pane> 选项卡组件右侧自定义插槽内容教程(右边区域添加自定义按钮功能区)

vue3,elementplus,tabs选项卡如何在插槽按钮,tabs标签页组件怎么自定义右侧内容,vue3elementplustabs组件右侧插槽按钮,element-plus在el-tabs组件的最右侧添加按钮,如何在选项卡右边加入按钮搜索框等内容,哪个属性能在tab选项卡右侧插入自定义按钮,在el-tabs组件最右侧添加按钮,vue3el-tabs组件怎么自定义右侧插槽内容,Tabs标签页右侧自定义插槽,ElementPlusTab右边加按钮,el-tabs组件自定义右侧按钮,在E

🏆 前端领域优质创作者 7003

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ssh连接如何使用代理

前言 我最近将公司电脑系统换成deepin了,感觉体验不错。 没了windows之后如何登录腾讯云呢?以前还有个xshell或者mobaXterm可以设置代理,现在要通过命令行登录了。 网上用ssh隧道来翻墙的教程比较多,通过代理连接ssh的文章相对较少,这种方法适用于网络中防火墙屏蔽了ssh协议,或者其它原因无法通过ssh直连服务器的情况。配置好后ssh流量会通过指定的代理中转,从而突破防...

欢迎来到小迪的CSDN博客! 1万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

nginx采用反向代理转发ssh服务

nginx采用反向代理转发ssh服务 nginx stream模块简介 nginx从1.9.0开始,新增加了一个stream模块,用来实现四层协议的转发、代理或者负载均衡等。 stream 模块编译 stream模块默认没有编译到nginx, 编译nginx时候 ./configure –with-stream 即可。 我的nginx版本是nginx/1.12.2。操作系统是centos,采用的是...

wzlsunice88的博客 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

ssh代理

ssh功能还是很强大的,提供了三种代理功能 -L参数,正向代理 -R参数,反向代理 -D参数,socks5代理 说的通俗易懂点就是我有 hostA,hostB,hostC #mermaid-svg-o500HVE8uv90TAF7 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-o500HVE8uv90TAF7 .error-icon{fill:#552222;}#me

a807719447的专栏 7748

SSH使用ProxyCommand通过代理服务器远程连接其他服务器

当前环境拓扑图: 用户管理海外服务器,通过公网SSH远程时,由于网络质量原因公网丢包严重,这就导致管理员在对海外云主机进行管理时体验较差,表现形式可能是由于公网丢包严重执行命令卡顿,或者SSH进程异常中断等。 针对上述需求,给出以下方案来优化此问题。 新增一台代理服务器,此服务器到用户的网络质量和到海外服务器的网络质量良好,可以充当中间桥梁,途中我们以香港服务器为例。 管理员...

weixin_30770495的博客 3650

在 在 Cursor Remote-SSH 中使用当前主机代理

在使用 Cursor 的 Remote-SSH 功能连接远程服务器进行开发时,经常需要让远程服务器通过本地主机的代理访问外部网络。本文基于实际使用经验,介绍了如何通过 SSH 隧道转发实现这一需求。通过 SSH 隧道转发实现 Cursor Remote-SSH 中的代理使用,是一种优雅且安全的解决方案。透明性:对远程服务器上的应用完全透明安全性:所有流量通过加密的 SSH 隧道传输灵活性:可以轻松配置多个端口转发兼容性:支持各种代理协议和认证方式。

jthou的专栏 1436

Xshell通过SSH密钥、SSH代理连接Linux服务器详解

Xshell通过SSH密钥、SSH代理连接Linux服务器详解 引言 使用SSH客户端来登陆Linux系统,我相信大家肯定都用过,只是选择的SSH客户端的软件不同而已,在Windows系统下,用的比较多就应该就是PUTTY,SecureCRT,Xshell这三个吧。大家是不是曾经在进行服务器管理的时候,会遇到一些交互的处理问题,比如说自动化的命令需要密码的时候,我们就不能自动完成。所以我们会用...

天蓝色路 505

Git 在 SSH 协议下使用代理

关于 Git 使用 Proxy , 网上很多教程讲的都是 如何设置 Http 下 Git 使用 Proxy , 但是并没有提到 SSH 下如何使用 Proxy . 即便有些文章讲到了, 也有不少是 Windows 平台下的, Linux 平台下的很少提及, 所以这里就记录一下, 如何在 Ubuntu 中, 使用 Git 在 SSH 协议下应用代理.

weixin_44637703的博客 3487

Putty通过ssh代理连接远程服务

Putty代理连接远程跨网络服务,本文以连接MYSQL为例(其他所有程序都是一样的道理) 一、网络模型 1、本机windows电脑可以ssh登陆远程服务器A 2、远程服务器A可以连接服务器B的MYSQL 3、本机windows不可以直接连接服务器B 4、实现目标:在本机windows可以直接使用MYSQL工具连接和操作服务器B PS:有人说,现在很多MYSQL连接工具都自带SSH代理配...

小单的博客专栏 2万+

SSH服务详解(六)– Windows 作为 SSH 主机

Windows 作为 SSH 主机 SSH服务详解(一)–Linux SSH 服务器与客户端的安装与启动 SSH服务详解(二)–使用私钥登录 SSH 服务器(免密登录) SSH 服务详解 (三)-- 使用 SSH 代理 SSH 服务详解 (四)-- 本地调用远程主机的命令 SSH 服务详解 (五)-- 远程文件拷贝 SSH 服务详解 (六)-- Windows SSH 主机 主机端(Windows) 前面五章中 SSH 主机均为 Linux ,本节介绍 Windows 作为 SSH 主机的连接方法 安装 S

tyustli 4141
上一篇: SSH服务详解(一)–Linux SSH 服务器与客户端的安装与启动
下一篇: SSH 服务详解 (四)-- 本地调用远程主机的命令
tyustli
博客等级 码龄9年 1252粉丝 516原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tyustli

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值