使用密钥文件 SSH 登录服务器:Windows、macOS使用终端或连接工具

news/2024/9/18 12:28:59/ 标签: ssh, 服务器, windows, linux, 云计算, macos, 运维

文章目录

  • 使用密钥文件 SSH 登录服务器
    • 1. Windows端
      • 方法 1:使用 `ssh` 命令指定密钥文件
      • 方法 2:使用 SSH 配置文件
    • 2. macOS端
      • 方法 1:使用 `ssh` 命令指定密钥文件
      • 方法 2:使用 SSH 配置文件
      • 方法 3:使用 `ssh-add` 命令(可选)
    • 3. 在多平台使用连接工具
      • 使用 MobaXterm 指定私钥文件
      • 使用 Tabby 指定密钥文件
      • 使用其他工具的通用方法


使用密钥文件 SSH 登录服务器

1. Windows端

在 Windows 上,可以通过指定存放在本地的私钥文件,来实现免密码登录服务器

ssh__13">方法 1:使用 ssh 命令指定密钥文件

  1. 打开 PowerShell 或命令提示符
    • 在 Windows 上,可以使用 PowerShell 或命令提示符(CMD)来运行 SSH 命令。
  2. 使用 i 参数指定私钥文件
    • 当连接到服务器时,可以使用 i 参数指定私钥文件的位置。例如,如果私钥文件存储在 C:\\Users\\YourUsername\\.ssh\\id_rsa,使用以下命令:

      ssh -i C:\\Users\\YourUsername\\.ssh\\id_rsa user@server_ip
    • 使用指定的私钥文件 id_rsa 来登录服务器 server_ip,并且如果公钥已经在服务器authorized_keys 文件中配置好,就可以实现免密码登录。

方法 2:使用 SSH 配置文件

  1. 创建或编辑 SSH 配置文件
    • C:\\Users\\YourUsername\\.ssh 目录下创建一个名为 config 的文件,如果这个文件已存在,可直接编辑。
  2. 添加配置项
    • config 文件中,指定特定服务器的配置,包括使用哪个私钥文件。例如:

      Host myserverHostName server_ipUser userIdentityFile C:\\Users\\YourUsername\\.ssh\\id_rsa
      
    • 使用以下命令登录服务器,不必每次都指定密钥文件路径:

      ssh myserver
      

2. macOS端

在 macOS 上,通过指定存放在本地的私钥文件,实现免密码登录服务器。方法和 Windows 类似,主要是通过 ssh 命令或配置 SSH 配置文件来完成。

ssh__52">方法 1:使用 ssh 命令指定密钥文件

  1. 打开终端
    • 在 macOS 上,可使用终端(Terminal)来运行 SSH 命令。终端可以通过 Spotlight 搜索 “Terminal” 来启动。
  2. 使用 i 参数指定私钥文件
    • 当连接到服务器时,可以使用 i 参数指定私钥文件的位置。例如,如果私钥文件存储在 ~/.ssh/id_rsa,可以使用以下命令:

      ssh -i ~/.ssh/id_rsa user@server_ip
      
    • 这条命令会使用指定的私钥文件 id_rsa 来登录服务器 server_ip,并且如果公钥已经在服务器authorized_keys 文件中配置好,就可以实现免密码登录。

方法 2:使用 SSH 配置文件

  1. 创建或编辑 SSH 配置文件
    • ~/.ssh 目录下创建一个名为 config 的文件,如果这个文件已经存在,可以直接编辑。
  2. 添加配置项
    • config 文件中,可以指定特定服务器的配置,包括使用哪个私钥文件。例如:

      Host myserverHostName server_ipUser userIdentityFile ~/.ssh/id_rsa
      
    • 此时即可以使用以下命令来登录服务器,而不必每次都指定密钥文件路径:

      ssh myserver
      

sshadd__86">方法 3:使用 ssh-add 命令(可选)

如果在多个 SSH 会话中使用相同的私钥文件,而不必每次都输入 -i 参数,可以使用 ssh-add 命令将私钥加载到 SSH 代理中:

  1. 启动 SSH 代理(如果尚未启动):

    eval "$(ssh-agent -s)"
    
  2. 将私钥添加到 SSH 代理

    ssh-add ~/.ssh/id_rsa
    
    • 将允许在当前终端会话中使用私钥文件登录到服务器,而无需每次都指定 i 参数。

3. 在多平台使用连接工具

使用 MobaXterm 指定私钥文件

步骤 1:启动 MobaXterm 并创建新的 SSH 会话

  1. 打开 MobaXterm
    • 启动 MobaXterm 应用程序。
  2. 创建新的 SSH 会话
    • 在 MobaXterm 的主界面上,点击左上角的 “Session” 按钮来创建一个新的会话。
    • 在弹出的会话类型窗口中,选择 “SSH”。

步骤 2:配置 SSH 连接信息

  1. 输入远程服务器的 IP 地址或主机名
    • 在 “Remote host” 字段中,输入要连接的服务器的 IP 地址或主机名。
  2. 输入用户名
    • 在 “Specify username” 字段中,输入远程服务器上使用的用户名。

步骤 3:指定私钥文件

  1. 选择密钥文件
    • 在会话配置窗口的 “Advanced SSH settings” 选项卡下,找到 “Use private key” 选项。
    • 勾选 “Use private key” 复选框,然后点击右边的浏览按钮(文件夹图标)来选择存储在本地的私钥文件。例如,选择 C:\\Users\\YourUsername\\.ssh\\id_rsa
  2. 保存会话配置
    • 配置完成后,点击 “OK” 保存 SSH 会话配置。

步骤 5:连接到远程服务器

  1. 双击刚刚创建的会话
    • 在 MobaXterm 的主界面上,左侧的会话列表中会显示刚刚创建的 SSH 会话。
    • 双击该会话,MobaXterm 会自动使用指定的私钥文件连接到远程服务器
  2. 免密码登录
    • 如果公钥已经在服务器~/.ssh/authorized_keys 文件中配置好,并且私钥没有设置额外的 passphrase,那么将直接登录到服务器而不需要输入密码。

注意事项

  • 如果私钥文件设置了 passphrase,第一次连接时需要输入 passphrase。如果希望在多个会话中避免重复输入,可以使用 MobaXterm 内置的密钥代理功能。
  • 可保存多个 SSH 会话,每个会话可使用不同的私钥文件。

使用 Tabby 指定密钥文件

  1. 下载和安装 Tabby
  2. 配置 SSH 会话
    • 打开 Tabby 并创建一个新的 SSH 会话。
    • 在会话配置页面,输入服务器的 IP 地址、用户名等信息。
  3. 指定密钥文件
    • 在 SSH 会话配置中,有个选项可以指定私钥文件。
    • 选择本地存储的私钥文件路径(如 ~/.ssh/id_rsa)。
  4. 保存配置并连接
    • 保存配置后,直接连接到服务器。Tabby 将使用指定的私钥文件进行身份验证,从而实现免密码登录。

使用其他工具的通用方法

多数 SSH 客户端工具都有类似的功能,具体步骤无非以下大差不差:

  1. 创建或编辑连接配置
  2. 指定用户名、服务器地址等基本信息
  3. 指定私钥文件路径,通过文件浏览器或直接输入路径的方式。
  4. 保存配置并尝试连接到服务器


http://www.ppmy.cn/news/1515451.html

相关文章

SpringBoot文档之测试框架的阅读笔记

Testing SpringBoot提供了组件spring-boot-test供开发者集成。 Test Scope Dependencies 组件spring-boot-test导入了对如下测试工具的依赖。 JUnit 5: The de-facto standard for unit testing Java applications.Spring Test & Spring Boot Test: Utilities and integra…

Theory of Cryptography (TCC 2021)

分类文章编号基础理论1-5,47-53量子6-9,30-34多方安全计算10-16,35-40ABE,FE,混淆和非传统模型17-23零知识证明24-29隐私查找,加密内存和承诺机制41-46零知识证明,OT和密钥管理54-60路由,签名,承诺和时间锁61-65Foundations I 1. Simple Constructions from (Almost)…

兵临城下:分析针对金融服务的攻击

金融服务是受网络犯罪影响最严重的行业之一——从宙斯和其他银行木马的鼎盛时期到分布式拒绝服务(DDoS) 攻击、现代网络钓鱼攻击和勒索软件。金融服务是一个至关重要的行业,不仅在人们的生活中发挥着重要作用,而且在全球经济中也发挥着重要作用。 金融服务的任何中断或停机都…

nginx做代理 转发前端请求到后端

Nginx 作为反向代理服务器可以很好地处理代理转发的请求,它能够将客户端的请求转发到后端服务器,并将后端服务器的响应返回给客户端(避免直接向后端发送请求,隐藏后端服务器地址)。下面介绍如何配置 Nginx 进行代理转发…

vue全局参数

/* eslint-disable no-new */ new Vue({el: #app,router,components: { App },template: <App/>,data:function(){return{wbWinList: [] // 定义的变量&#xff0c;全局参数}}, }) //使用全局参数 // this.$root.backgroundColor 666;其它页面如果想监听改变 //监听全…

minio 后端大文件分片上传,合并,删除分片

背景 网上大多数minio大文件上传都是采用后台返回前端预上传链接&#xff0c;然后由前端去put请求直接和minio通信上传分片文件&#xff0c;然后调用后台合并分片逻辑来达到快申诉上传的目的&#xff0c;详情可以参考我的上两篇文章 最近有个项目域名是https的&#xff0c;但…

Linux | 文件描述符fd详解及重定向技术的应用

多谢梅花&#xff0c;伴我微吟。 - 《高阳台除夜》(韩疁) 2024.8.23 目录 1、文件描述符fd 文件操作符概念(简单带过) 重点&#xff1a;如何理解文件操作符使得系统实现了设备无关性&#xff1f;&#xff08;使得操作系统无需关心具体的硬件细节&#xff09; 示例代码:标准输入…

【内网渗透】ICMP隧道技术,ICMP封装穿透防火墙上线MSF/CS

~ 会当凌绝顶&#xff0c;一览众山小 ~ 前言 博客主页&#xff1a;h0ack1r丶羽~ 从0到1~ 渗透测试中&#xff0c;如果攻击者使用各类上层隧道(例如&#xff1a;HTTP隧道、DNS隧道、常规正/反向端口转发等)进行的操作都失败了&#xff0c;常常会通过ping命令访问远程计算机&am…

【vue】编辑器段落对应材料同步滚动交互

场景需求 编辑器段落对应显示材料编辑器滚动时&#xff0c;材料同步滚动编辑器段落无数据时&#xff0c;材料不显示 实现方法 编辑器与材料组件左右布局获取编辑器高度&#xff0c;材料高度与编辑器高度一致禁用材料组件的滚动事件获取编辑器段落距离顶部的位置&#xff0c;…

【Docker】Docker学习01 | 什么是docker?

本文首发于 ❄️慕雪的寒舍 因为本人没有学习过docker&#xff0c;虽然部署过很多镜像&#xff0c;但是对于docker底层的实现一概不知。趁学习一个新项目的契机&#xff0c;将docker的相关概念了解清楚。 安装docker的教程请查看 Linux主机安装docker。 如果你想和我一起学习do…

【计算机网络】网络版本计算器

此前我们关于TCP协议一直写的都是直接recv或者read&#xff0c;有了字节流的概念后&#xff0c;我们知道这样直接读可能会出错&#xff0c;所以我们如何进行分割完整报文&#xff1f;这就需要报头来解决了&#xff01; 但当前我们先不谈这个话题&#xff0c;先从头开始。 将会…

[Algorithm][综合训练][mari和shiny][重排字符串]详细讲解

目录 1.mari和shiny1.题目链接2.算法原理详解 && 代码实现 2.重排字符串1.题目链接2.算法原理详解 && 代码实现 1.mari和shiny 1.题目链接 mari和shiny 2.算法原理详解 && 代码实现 自己的版本&#xff1a;三层循环暴力枚举 --> 超时 --> 40% …

Android如何高效的加载大型位图

图片有各种形状和大小。在很多情况下,它们的大小超过了典型应用界面的要求。例如,系统“图库”应用会显示使用 Android 设备的相机拍摄的照片,这些照片的分辨率通常远高于设备的屏幕密度。 鉴于使用的内存有限,理想情况下您只希望在内存中加载较低分辨率的版本。分辨率较低…

【记录】基于Windows系统安装rust环境的过程

到官网下载安装包【入门 - Rust 程序设计语言 (rust-lang.org)】 ![[Pasted image 20240703142911.png]] 选择1&#xff0c;快速安装 选择编译配置&#xff0c;1为标准 安装完成 验证是否安装完毕 rustc --versioncargo --version验证成功&#xff01;

从0到1使用webpack搭建react脚手架

背景 好多前端童鞋工作多年依然不会使用webpack搭建react脚手架&#xff0c;本文就介绍下如何从零开始搭建一个属于你自己的前端脚手架&#xff0c;提高自己的工程化实力&#xff0c;同时也提高团队的开发效率。 一、基础配置 目标&#xff1a;可以启动最简单的react项目 初…

el-table 表格自定义添加表格数据后自动滚动到最底部

动态表格&#xff0c;可以新增行列数&#xff0c;为了用户体验&#xff0c;新增后超出表格流体高度后&#xff0c;自动滚动到最下方 需要element-plus如下api 代码如下&#xff1a; const addCapacity () > {inputList.value.push({name: "",desc: "&quo…

Macos M1 IDEA本地调试 HBase 2.2.2

# 1. 前提 执行 mvn clean package assembly:single -DskipTests没问题&#xff0c;并在hbase-assembly/target目录下生成hbase-2.2.2-bin.tar.gz 文件夹 证明Maven 下载依赖没问题 1.1 报错 1 这里应该是报错找不到 com.google.protobuf:protoc:exe:osx-aarch_64:3.5.1 …

Django 框架中 select_related 和 prefetch_related的区别

在Django框架中&#xff0c;select_related 和 prefetch_related 是两个优化数据库查询性能的非常重要的方法&#xff0c;特别是在处理外键关联查询时。尽管它们的目的相似&#xff0c;但在处理方式和适用场景上有所不同。 select_related select_related 主要是用于解决“一…

Java SpringBoot+Vue实战教程:如何搭建高中素质评价档案系统?

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

基于51单片机的电动式百叶窗proteus仿真

地址&#xff1a; https://pan.baidu.com/s/1ptXdnVxytPadcE7kOT9MwA 提取码&#xff1a;1234 仿真图&#xff1a; 芯片/模块的特点&#xff1a; AT89C52/AT89C51简介&#xff1a; AT89C52/AT89C51是一款经典的8位单片机&#xff0c;是意法半导体&#xff08;STMicroelectro…