当前位置: 首页 > news >正文

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


文章目录

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


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

1. Windows端

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

方法 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 配置文件来完成。

方法 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
      

方法 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.mrgr.cn/news/7436.html

相关文章:

  • Linux开发:通过readlink读取软连接指向的文件
  • UnQLite:多语言支持的嵌入式NoSQL数据库深入解析
  • C++前向声明简介
  • 数据库系统 第23节 并发控制
  • 技术文档索引
  • MySQL连接类型
  • [数据集][目标检测]绳子检测数据集VOC+YOLO格式322张1类别
  • 01:【江科大stm32】:LED闪烁/LED流水灯/蜂鸣器
  • 【数据结构】栈(stack)
  • 【Oracle点滴积累】Oracle 19c安装Critical Patch Update for January 2023
  • SQL手工注入漏洞测试(PostgreSQL数据库)
  • 怎么利用住宅代理提高数据抓取效率
  • 算法-模型似然值计算
  • MapBox Android版开发 1 配置
  • 前端宝典九:React Native从入门到精通实战
  • TCP vs UDP:揭秘可靠性与效率之争
  • 【GNSS射频前端】MA2769初识
  • 5大分区管理器 - 最佳硬盘分区软件
  • 【从问题中去学习k8s】k8s中的常见面试题(夯实理论基础)(十二)
  • 微服务:配置管理和配置热更新