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


文章目录

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

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

1. Windows端

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

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

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

      bash 复制代码
      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 myserver
          HostName server_ip
          User user
          IdentityFile C:\\Users\\YourUsername\\.ssh\\id_rsa
    • 使用以下命令登录服务器,不必每次都指定密钥文件路径:

      bash 复制代码
      ssh myserver

2. macOS端

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

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

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

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

方法 2:使用 SSH 配置文件

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

      复制代码
      Host myserver
          HostName server_ip
          User user
          IdentityFile ~/.ssh/id_rsa
    • 此时即可以使用以下命令来登录服务器,而不必每次都指定密钥文件路径:

      bash 复制代码
      ssh myserver

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

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

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

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

    bash 复制代码
    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. 保存配置并尝试连接到服务器。

相关推荐
AKAMAI13 小时前
跳过复杂环节:Akamai应用平台让Kubernetes生产就绪——现已正式发布
人工智能·云原生·云计算
天翼云开发者社区15 小时前
Rust 中的 Tokio 线程同步机制
云计算
集成显卡16 小时前
windows 下使用 bat 批处理运行 Chrome 无头模式刷一波访问量
windows·程序员
goodSleep17 小时前
更新Mac OS Tahoe26用命令恢复 Mac 启动台时不小心禁用了聚焦搜索
macos
天翼云开发者社区18 小时前
亮相2025年服贸会,天翼云打造高质量算力服务新生态!
云计算·天翼云
LH_R1 天前
OneTerm开源堡垒机实战(四):访问授权与安全管控
运维·后端·安全
用户31187945592181 天前
Kylin Linux 10 安装 glib2-devel-2.62.5-7.ky10.x86_64.rpm 方法(附安装包)
linux
Raymond运维1 天前
MariaDB源码编译安装(二)
运维·数据库·mariadb
涛啊涛1 天前
Centos7非LVM根分区容量不足后扩容,对调硬盘挂载/
linux·磁盘管理
JuiceFS2 天前
从 MLPerf Storage v2.0 看 AI 训练中的存储性能与扩展能力
运维·后端