当前位置: 首页 > 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.lryc.cn/news/586139.html

相关文章:

  • 让 VSCode 调试器像 PyCharm 一样显示 Tensor Shape、变量形状、变量长度、维度信息
  • 细解muduo中的每个核心类
  • pytorch深度学习—RNN-循环神经网络
  • 关于wpf的自适应
  • vue2和vue3的响应式原理
  • Java中的内存溢出详解
  • 【Python练习】039. 编写一个函数,反转一个单链表
  • Linux系统使用Verdaccio搭建Npm私服
  • 初学者关于算法复杂度的学习笔记
  • python数据分析及可视化课程介绍(01)以及统计学的应用、介绍、分类、基本概念及描述性统计
  • 【Datawhale AI 夏令营】 用AI做带货视频评论分析(二)
  • 使用Java完成下面程序
  • 13. https 是绝对安全的吗
  • Spring AOP 是如何生效的(入口源码级解析)?
  • 基于Java的Markdown到Word文档转换工具的实现
  • 码头智能哨兵:AI入侵检测系统如何终结废钢盗窃困局
  • DirectX Repair修复工具下载,.NET修复,DirectX修复
  • 贪心算法题解——跳跃游戏 II【LeetCode】
  • 电商订单数据分析全流程:从数据处理到可视化洞察
  • AI产品经理面试宝典第11天:传统软件流程解析与AI产品创新对比面试题与答法
  • 网络连接:拨号连接宽带PPPOE
  • 维基艺术图片: python + scrapy 爬取图片
  • 物联网设备数据驱动3D模型的智能分析与预测系统
  • 深入理解 QSettings:Qt 中的应用程序配置管理
  • 多线程的区别和联系
  • SQL server之版本的初认知
  • linux系统----LVS负载均衡集群(NET/DR)模式
  • docker-compose方式搭建lnmp环境——筑梦之路
  • 【LeetCode】算法详解#8 ---螺旋矩阵
  • .gitignore