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

Linux中使用快捷方式加速SSH访问

如果您使用Linux或管理远程服务器(如AWS、DigitalOcean上的云服务器,甚至是您网络上的本地机器),您可能会使用如下命令连接到它们:

ssh ravi@192.168.1.50 -p 2222

让我们把它分解一下,这样就非常清晰了:

  • ssh: 这是启动与另一台机器建立安全连接的命令。
  • ravi: 这是您在远程服务器上登录时使用的用户名。
  • 192.168.1.50:这是服务器的IP地址(有点像它的电话号码)。
  • -p 2222:这告诉SSH连接到2222端口(服务器可能没有使用默认的22端口)。

现在,这个单行代码乍一看可能很短,但每天都输入它——而且在多个服务器上输入——很快就会变得令人沮丧。

随着时间的推移,实际上感觉是这样的:

  • 你必须记住每个服务器的IP地址(容易忘记!)
  • 您必须输入或复制粘贴正确的端口号。
  • 如果您使用的是 SSH 密钥,您可能还需要在命令中添加 -i /path/to/key.pem
  • 你每天可能会对多个服务器,甚至几十个服务器反复这样做。

假设你管理三个服务器:

ssh ravi@192.168.1.50  -p 2200
ssh ravi@192.168.1.50 -p 2222
ssh ravi@192.168.1.50 -i ~/.ssh/dev-key.pem

现在想象一下每天手动输入这些内容好几次。这不仅令人厌烦,而且容易出错。一个错误的IP或端口,你就会浪费时间进行故障排除。

目标:使用简单的快捷方式

如果你能简单地输入一些简短易记的内容,那不是太棒了吗?

ssh server1
或
ssh devbox

并立即连接到正确的服务器,所有细节(IP、端口、用户名、密钥)都已为您填写好?

  • 无需记住IP地址
  • 无需重新输入端口
  • 无需添加SSH密钥路径
  • 只需一个简单的昵称来连接

在这个易于遵循的指南中,我将向您展示如何像专业人士一样自动完成SSH命令,这样您就不必一遍又一遍地输入冗长而乏味的命令。

如何在Linux中设置SSH快捷方式

要创建 SSH 快捷方式,您需要在您的主目录中创建或打开 ~/.ssh/config 文件。

vim  ~/.ssh/config

文件现在已打开,我们来创建你的第一个 SSH 快捷方式。

Host server1HostName 192.168.122.74User raviPort 2222

让我们逐行分析一下:

  • 主机 – 这是您在终端中使用的昵称(您可以将其命名为任何名称!)
  • HostName – 您远程服务器的 IP 地址或域名。
  • User - 您用来登录该服务器的用户名.
  • Port - SSH 端口号(默认为 22,仅在你的服务器使用自定义端口时使用)。

Ctrl + X,然后按 Y,再按 Enter 保存并退出文件。

现在,不用再输入长长的SSH命令,只需运行:

ssh server1

就是这样 - 你已连接到你的服务器!

该快捷方式使用您在配置文件中保存的所有详细信息(用户名、IP、端口),因此您不必每次都记住或输入它们。

想要添加更多服务器吗?

您可以重复相同的过程并像这样添加更多服务器:

Host aws-serverHostName 3.115.120.100User ec2-userPort 22IdentityFile ~/.ssh/aws.pemHost dev-machineHostName 10.0.0.101User ubuntu

每个区块以独特的 Host 名称开头,并包含该特定服务器的详细信息。

那么就这样连接:

ssh aws-server
ssh dev-machine

如何使用 SSH 密钥设置无密码 SSH 登录

到目前为止,我们已经学习了如何使用 ~/.ssh/config 文件为 SSH 命令设置快捷方式,但我们仍然需要每次输入密码。

为了避免这种情况,我们需要使用SSH密钥设置无密码认证,这是一种更安全、更快速的方式,可以在不使用密码的情况下登录远程服务器。

它们像锁和钥匙一样工作:

  • 私钥(您的个人密钥):保留在您的本地计算机上。
  • 公钥(你的ID):放在服务器上。它告诉服务器,“嘿,如果有人拥有匹配的私钥,就让他们进来!”.

生成一个新的 SSH 密钥对(如果您还没有的话)

如果你在你的 .ssh 目录中看到一个像 id_rsaid_ed25519 的文件,这意味着你已经有了 SSH 密钥对。如果没有,你可以使用以下命令生成一个新的 SSH 密钥对。

ssh-keygen -t rsa -b 4096 -C "email"

现在您的 SSH 密钥已创建在 ~/.ssh/id_rsa(您的私钥)和 ~/.ssh/id_rsa.pub(您的公钥).

接下来,将公钥复制到你的服务器;在这里,你将被要求最后一次输入密码。

ssh-copy-id -i ~/.ssh/id_rsa.pub  ravi@192.168.1.50

现在打开你的 /.ssh/config 文件,并添加 IdentityFile,以及你私钥文件的路径。

Host server1HostName 192.168.122.74User raviPort 2222IdentityFile ~/.ssh/id_rsa

下次,当你尝试SSH时,它将自动使用你的私钥并在不询问密码的情况下登录。

ssh server1

额外: SSH 主机的标签完成功能

您可以在您的 ~/.bashrc 文件中为 SSH 昵称启用标签补全。

nano ~/.bashrc

在最后添加这一行:

complete -o default -o nospace -F _ssh ssh

保存并运行:

source ~/.bashrc

现在输入ssh并按TAB键,这将显示您在配置中添加的所有主机名。

最终想法

使用 SSH 配置文件是任何从事服务器工作的人最简单但最强大的技巧之一,因为它可以节省时间,减少错误,并帮助您改善 SSH 工作流程。

🔥运维干货分享

  • 系统规划与管理师备考经验分享

  • 软考高级系统架构设计师备考学习资料

  • 软考中级数据库系统工程师学习资料

  • 软考高级网络规划设计师备考学习资料

  • Kubernetes CKA认证学习资料分享

  • AI大模型学习资料合集

  • 免费文档翻译工具(支持word、pdf、ppt、excel)

  • PuTTY中文版安装包

  • MobaXterm中文版安装包

  • pinginfoview网络诊断工具中文版

  • Xshell、Xsftp、Xmanager中文版安装包

  • 办公室摸鱼神器,伪装电脑系统更新中

  • Typora简单易用的Markdown编辑器

  • Window进程监控工具,能自动重启进程和卡死检测

  • 毕业设计高质量毕业答辩 PPT 模板分享

  • IT行业工程师面试简历模板分享

http://www.dtcms.com/a/276479.html

相关文章:

  • 通俗范畴论13 鸡与蛋的故事番外篇
  • 2D转换之缩放scale
  • 《P2052 [NOI2011] 道路修建》
  • JavaScript:移动端特效--从触屏事件到本地存储
  • (LeetCode 面试经典 150 题 )3. 无重复字符的最长子串 (哈希表+双指针)
  • 两数之和 https://leetcode.cn/problems/two-sum/description/
  • 基于hugo的静态博客站点部署
  • 苹果公司高ROE分析
  • Druid 连接池使用详解
  • 基于 SpringBoot+Uniapp 易丢丢失物招领微信小程序系统设计与实现
  • BugBug.io 使用全流程(202507)
  • Kubernetes持久卷实战
  • zcbus使用数据抽取相当数据量实况
  • 8. JVM类装载的执行过程
  • hive的索引
  • DBeaver连接MySQL8.0报错Public Key Retrieval is not allowed
  • C语言基础知识--位段
  • UE制作的 AI 交互数字人嵌入到 Vue 开发的信息系统中的方法和步骤
  • 【MaterialDesign】谷歌Material(Google Material Icons) 图标英文 对照一览表
  • AI问答:成为合格产品经理所需能力的综合总结
  • dify工作流1:快速上手ai应用
  • 计算机毕业设计Java停车场管理系统 基于Java的智能停车场管理系统开发 Java语言实现的停车场综合管理平台
  • 网络通信模型对比:OSI与TCP/IP参考模型解析
  • 《Java Web程序设计》实验报告三 使用DIV+CSS制作网站首页
  • ServiceNow Portal前端页面实战讲解
  • [案例八] NX二次开发长圆孔的实现(支持实体)
  • C++中Lambda表达式 [ ] 的写法
  • Redis面试精讲 Day 1:Redis核心特性与应用场景
  • 浅谈 Python 中的 yield——生成器对象与函数调用的区别
  • 2025必问46道软件测试面试题(答案+文档)