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

Shell应用手册(一) 5 .终端连接与环境配置(SSH连接、命令行提示符含义)

对于后端开发者、运维工程师而言终端是日常工作中最常用的工具之一。无论是远程管理服务器还是本地调试程序终端连接的稳定性、环境配置的合理性直接影响工作效率。而SSH连接作为远程终端访问的核心方式命令行提示符作为终端交互的“导航标识”更是每个技术人必须吃透的基础知识点。本文将从实操出发详细拆解SSH连接的全过程、常见问题解决方案以及命令行提示符的每一部分含义帮你快速上手终端环境配置告别“小白式”操作。一、SSH连接远程终端的“安全桥梁”SSHSecure Shell安全外壳协议是一种加密的网络传输协议核心作用是在不安全的网络环境中建立本地终端与远程服务器之间的安全连接实现命令执行、文件传输等操作。与传统的Telnet协议相比SSH通过对称加密、非对称加密等方式确保数据传输过程不被窃听、篡改是远程管理服务器的首选方式。1.1 SSH连接的核心原理SSH连接的建立过程本质是“双向认证加密通道构建”的过程主要分为5个阶段每一步都为安全保驾护航版本协商阶段客户端与服务器建立TCP连接后双方自动协商使用的SSH协议版本现代系统默认使用更安全的SSH-2协议若版本不兼容连接会立即终止。算法协商阶段双方进一步协商加密算法、消息认证码MAC、密钥交换算法等确定后续数据传输的加密规则确保传输过程的安全性。认证阶段这是SSH连接的核心环节服务器需要验证客户端的身份常见的认证方式有两种下文详细实操密码认证和公钥认证。会话请求阶段认证通过后客户端向服务器发送会话请求可选择启动交互式Shell、SFTP文件传输、端口转发等功能建立具体的交互通道。数据交互阶段建立安全通道后所有数据通过协商好的对称加密算法如AES-256传输每个数据包都会附加MAC校验码防止篡改还可根据需求开启数据压缩提升传输效率。1.2 SSH连接实操WindowsLinux/macOS不同操作系统的SSH客户端配置略有差异以下是最常用的两种场景实操新手可直接照搬步骤。场景1Windows系统使用Xshell/Xftp新手首选下载并安装Xshell终端连接工具和Xftp文件传输工具两者配套使用操作更便捷。打开Xshell点击“新建”配置连接信息名称自定义如“阿里云服务器”方便区分多个连接。协议默认SSH端口号默认22若服务器修改过SSH端口需对应填写。主机远程服务器的公网IP可在服务器控制台查看。点击“连接”输入服务器的用户名如root、ubuntu和密码确认后即可建立远程连接。补充若需要传输文件打开Xftp新建连接配置与Xshell一致即可通过可视化界面拖拽文件实现本地与服务器的文件互传。场景2Linux/macOS系统自带SSH客户端无需额外安装打开本地终端Linux按CtrlAltTmacOS按Command空格输入terminal。输入SSH连接命令格式ssh 用户名服务器IP -p 端口号端口号默认22可省略。示例ssh root172.25.0.183连接IP为172.25.0.183的服务器用户名为root。首次连接时会提示“是否继续连接”输入yes然后输入服务器密码即可完成连接。补充文件传输可使用scp命令示例本地文件上传到服务器scp /本地文件路径 用户名服务器IP:服务器目标路径服务器文件下载到本地scp 用户名服务器IP:服务器文件路径 /本地目标路径1.3 两种SSH认证方式对比与配置密码 vs 公钥SSH提供两种核心认证方式各有优劣可根据使用场景选择其中公钥认证更安全适合长期使用。特性密码认证公钥认证安全性较低易受暴力破解、嗅探攻击高基于非对称加密数字签名抵御暴力破解便捷性需手动输入密码每次连接都要验证免密码登录可配合ssh-agent管理密钥操作更高效配置复杂度简单开箱即用无需额外配置中等需生成密钥对并部署到服务器推荐场景临时访问、用户交互式操作自动化脚本、服务器长期管理、持续集成公钥认证配置步骤推荐本地生成密钥对打开本地终端输入ssh-keygen连续回车使用默认设置会在~/.ssh/目录下生成两个文件私钥id_rsa/id_ed25519保存在本地切勿泄露是身份验证的核心。公钥id_rsa.pub/id_ed25519.pub可公开需上传到远程服务器。上传公钥到服务器输入命令ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名服务器IP输入服务器密码即可自动将公钥添加到服务器的~/.ssh/authorized_keys文件中该文件存储已授权的公钥。验证配置再次输入ssh 用户名服务器IP无需输入密码即可直接连接说明公钥认证配置成功。1.4 SSH连接常见问题与解决方案新手操作时容易遇到连接失败的情况以下是3个高频问题及解决方法覆盖90%的场景问题1Connection refused连接被拒绝原因服务器未安装SSH服务、SSH服务未启动或端口号错误、防火墙拦截。解决① 安装SSH服务CentOSyum -y install openssh openssh-clientsUbuntuapt install openssh-server② 启动SSH服务systemctl restart sshd③ 检查端口号是否正确关闭防火墙或开放22端口。问题2Permission denied权限拒绝原因用户名/密码错误或公钥配置错误、密钥权限过高私钥权限需为600公钥为644。解决① 核对用户名和密码② 检查公钥是否正确上传到服务器的authorized_keys文件③ 调整密钥权限chmod 600 ~/.ssh/id_rsa、chmod 644 ~/.ssh/id_rsa.pub。问题3首次连接提示“Host key verification failed”原因本地终端缓存了服务器的旧主机密钥与当前服务器密钥不匹配。解决删除本地缓存的密钥文件rm -rf ~/.ssh/known_hosts重新连接并输入yes即可。二、命令行提示符终端的“导航标识”成功连接终端本地或远程后屏幕上会显示一行提示符比如rootlocalhost:~#或ubuntuserver:~/workspace$。很多新手会忽略这个提示符但它包含了当前终端的核心信息读懂提示符能让你快速了解终端状态避免误操作。命令行提示符由系统环境变量PS1控制不同Shell的配置文件略有差异Bash默认使用PS1默认提示符的格式通常为用户名主机名:当前工作目录$root用户结尾为#普通用户为$。2.1 提示符各部分含义以实例拆解以最常见的两个提示符实例为例逐一部分拆解一看就懂实例1rootlocalhost:~#root用户本地终端root当前登录的用户名。root是Linux系统的超级用户拥有系统最高权限能执行所有命令需谨慎操作避免误删系统文件。分隔符无实际含义仅用于区分用户名和主机名。localhost当前终端所在的主机名即设备名称。本地终端通常显示localhost远程服务器会显示服务器的自定义主机名如阿里云服务器的默认主机名可能为iZuf6xxxxxxx。:分隔符用于区分主机名和当前工作目录。~当前工作目录的缩写代表“用户的家目录”。root用户的家目录是/root普通用户如ubuntu的家目录是/home/ubuntu。若当前目录是其他路径会显示完整路径如/mnt/workspace。#提示符结尾符号代表当前是root用户登录。普通用户登录时结尾符号为$这是区分用户权限的关键标识。实例2ubuntuserver:~/workspace$普通用户远程服务器ubuntu当前登录的普通用户权限有限无法执行修改系统配置、删除系统文件等操作需使用sudo命令临时提升权限。server远程服务器的主机名由服务器管理员设置或系统自动生成。~/workspace当前工作目录代表ubuntu用户家目录下的workspace文件夹完整路径为/home/ubuntu/workspace。$普通用户的提示符结尾符号与root用户的#形成区分。2.2 自定义命令行提示符可选提升效率默认提示符简洁但信息有限我们可以通过修改PS1环境变量自定义提示符的样式比如显示当前时间、Git分支、颜色等提升操作体验。以下是新手友好的自定义方法编辑Shell配置文件Bash用户编辑~/.bashrc文件Zsh用户编辑~/.zshrc输入命令nano ~/.bashrcnano是简单的文本编辑器新手易操作。在文件末尾添加自定义PS1配置示例 说明\u用户名\h主机名\W当前工作目录缩写\t当前时间\[\e[32m\]代表设置颜色为绿色可自行修改颜色代码。配置1显示用户名、主机名、当前路径、时间export PS1(\u\h \W \t) $ 配置2带颜色区分不同信息export PS1\[\e[32m\]\u\h:\[\e[34m\]\W\[\e[0m\]$ 绿色显示用户名主机名蓝色显示路径恢复默认颜色显示$。使配置生效输入命令source ~/.bashrc即可立即看到自定义后的提示符。新打开的终端会自动加载该配置实现永久生效。2.3 常见提示符异常及解决方法异常1提示符显示为“$”或“#”无用户名和主机名原因PS1环境变量被误修改或删除导致提示符无法正常显示。解决临时恢复默认提示符输入export PS1\u\h:\w$ 永久恢复需编辑~/.bashrc添加默认PS1配置并生效。异常2当前工作目录显示为完整路径过于冗长原因PS1中使用了\w显示完整工作目录而非\W显示缩写目录。解决修改PS1配置将\w替换为\W保存后执行source ~/.bashrc即可。三、终端环境基础配置新手必备除了SSH连接和提示符配置简单的终端环境优化能大幅提升工作效率以下是3个新手必备的基础配置无需复杂操作一键生效。3.1 配置命令别名简化常用命令很多常用命令冗长难记如ls -alF可以通过设置别名用简短的命令代替示例编辑~/.bashrc文件nano ~/.bashrc。在文件末尾添加别名配置alias llls -alF # 用ll代替ls -alF查看详细文件列表 alias lals -A # 用la代替ls -A查看所有文件包括隐藏文件 alias ..cd .. # 用..代替cd ..返回上一级目录 alias updatesudo apt update sudo apt upgrade -y # 一键更新系统生效配置source ~/.bashrc之后输入ll、la等命令即可快速执行对应操作。3.2 配置环境变量以PATH为例环境变量PATH用于指定系统查找可执行命令的路径若你安装了本地软件如自定义工具需要将其路径添加到PATH中才能在任意目录执行该软件示例编辑~/.bashrc文件添加配置export PATH$HOME/mytools:$PATH将~/mytools目录添加到PATH中。生效配置source ~/.bashrc之后即可在任意目录执行mytools目录下的可执行文件。3.3 会话保活避免SSH断连远程连接时若长时间无操作SSH连接会自动断开可通过配置实现会话保活示例客户端配置本地终端编辑~/.ssh/config文件无则创建添加Host *ServerAliveInterval 30 # 每30秒向服务器发送一次心跳包ServerAliveCountMax 3 # 若3次心跳无响应断开连接服务器配置可选编辑/etc/ssh/sshd_config文件添加ClientAliveInterval 30重启SSH服务systemctl restart sshd实现服务器主动保活。四、总结终端连接与环境配置是技术人入门的基础核心重点在于两点一是掌握SSH连接的实操与安全配置尤其是公钥认证的使用既能保证远程连接的安全又能提升操作便捷性二是读懂命令行提示符的含义了解当前终端的用户权限、工作目录等信息避免误操作。本文覆盖了SSH连接的原理、实操、问题解决命令行提示符的解析与自定义以及基础的终端环境优化新手可按照步骤逐步操作熟练后可根据自身需求进一步优化终端配置如安装oh-my-zsh、配置Git快捷键等。终端是我们与服务器交互的“桥梁”熟练掌握这些基础操作能让后续的开发、运维工作更高效、更安全。如果在操作过程中遇到其他问题欢迎在评论区留言交流

相关文章:

Shell应用手册(一) 5 .终端连接与环境配置(SSH连接、命令行提示符含义)

对于后端开发者、运维工程师而言,终端是日常工作中最常用的工具之一。无论是远程管理服务器,还是本地调试程序,终端连接的稳定性、环境配置的合理性,直接影响工作效率。而SSH连接作为远程终端访问的核心方式,命令行提示…...

springboot基于Hadoop的健康饮食推荐系统的设计与实现_5578bn9k_yh025

前言 随着人们生活水平的提高和健康意识的增强,越来越多的人开始关注自己的饮食习惯和健康状况。然而,传统饮食推荐方式往往缺乏个性化与数据支撑,难以满足用户多样化需求。SpringBoot基于Hadoop的健康饮食推荐系统应运而生,旨在为…...

基于扩展卡尔曼滤波EKF和模型预测控制MPC,自动泊车场景建模开发,文复现。 MATLAB(工...

基于扩展卡尔曼滤波EKF和模型预测控制MPC,自动泊车场景建模开发,文复现。 MATLAB(工程项目线上支持)自动泊车这活儿看着简单,实际操作起来全是坑。今天咱们就掰开揉碎了聊聊怎么用EKF和MPC这对黄金搭档搞定车位里的毫米…...

图片格式转换效率革命:从繁琐流程到一键操作的技术突破

图片格式转换效率革命:从繁琐流程到一键操作的技术突破 【免费下载链接】Save-Image-as-Type Save Image as Type is an chrome extension which add Save as PNG / JPG / WebP to the context menu of image. 项目地址: https://gitcode.com/gh_mirrors/sa/Save-…...

qtCreator应用程序输出窗口qDebug不输出问题

可以通过配置环境变量export QT_LOGGING_RULES"*.debugtrue;qt.*.debugfalse"...

YOLO 系列专栏(三十七)【全网首发】YOLO26 独家卷积改进|CVPR 2025 FDConv 频率动态卷积,结合 FDC3k2 二次创新,突破小目标特征表达瓶颈

目录 摘要 一、引言:传统卷积的小目标痛点 二、核心技术原理解析 2.1 FDConv 频率动态卷积(CVPR 2025 核心思想) 2.1.1 核心流程 2.1.2 关键优势 2.2 FDC3k2 二次创新模块(全网首发) 2.2.1 结构设计 2.3 FDConv vs 传统卷积/主流动态卷积(小目标场景对比) 三、…...

BLE 协议栈:HCI ISO 数据详解

BLE 协议栈:HCI ISO 数据详解前言一、定义1、HCI ISO 数据包(ISO Data Packet)二、ISO 数据包结构1、Host to Controller 格式2、Controller to Host 格式3、字节级格式表三、ISO Data Load 格式1、Host to Controller(主机到控制…...

高薪招聘!13-40K!AI大模型应用工程师,带你玩转AI前沿技术!

本文介绍了一则AI大模型应用工程师的招聘信息,岗位职责包括AI大模型在实际业务场景中的应用开发、需求分析、模型应用场景设计、智能应用构建与优化等。要求应聘者具备计算机相关专业学历,熟练掌握Python,有Java项目开发经验者优先&#xff1…...

Linux:入门开发工具--Git和GDB调试器

1.版本控制器Git1.1 Git的背景知识Git 是一款由 Linux 创始人 Linus Torvalds 在 2005 年开发的分布式版本控制系统。当时 Linux 内核社区因商业版本控制工具授权问题被迫更换工具,急需一个高效、分布式、速度极快的管理方案,Git 因此诞生,它…...

大模型之Linux服务器部署大模型斜

一、各自优势和对比 这是检索出来的数据,据说是根据第三方评测与企业数据,三款产品在代码生成质量上各有侧重: 产品 语言优势 场景亮点 核心差异 百度 Comate C核心代码质量第一;Python首生成率达92.3% SQL生成准确率提升35%&…...

【Agent面试题大揭秘】50道高频题深度解析,助你拿下Offer!

一、Agent 基础与架构什么是 Agent 的“感知-规划-行动”闭环?如何实现?Agent 的长期记忆和短期记忆分别如何设计和存储?如何解决 Agent 的“幻觉”问题?Agent 的状态管理是如何实现的?如何保证多轮对话的状态一致性&a…...

Windows系统的MBR磁盘分区

对于逻辑类数据恢复技术的学习,最重要的就是对各种系统下的分区结构及文件系统结构的学习。作为目前主流的操作系统Windows,它能够支持的分区结构包括MBR磁盘分区、动态磁盘分区及GPT磁盘分区:它能够支持的文件系统结构包括FAT12、FAT16、FAT…...

数学建模算法案例精讲500篇-【自动驾驶】自动驾驶中的决策规划算法概述(代码篇第一篇:全局路径规划+行为决策)

目录 一、前言:代码篇核心定位与环境说明 1.1 运行环境说明 1.2 代码设计思路 二、A*算法代码实现(全局路径规划主流) 2.1 算法核心回顾(对应理论篇2.2节) 2.2 完整MATLAB代码实现 2.3 代码说明与调试技巧 2.3.1 代码结构对应理论 2.3.2 调试技巧(工程适配重点)…...

一文读懂 JWT 无状态身份认证的核心原理

JWT 是目前前后端分离、微服务架构中最常用的无状态身份认证方案。本文用简洁易懂的方式,带你快速掌握 JWT 的签发、传递与校验核心逻辑,轻松理解其工作原理与安全机制。 一、什么是JWT? JWT(JSON Web Token)是一种轻…...

两条根本不同的道路:私有化部署与SaaS模式的抉择

很多企业在选型内部通讯工具时,面对的第一个问题往往是:选SaaS还是选私有化?这不是一个简单的技术偏好问题,而是一个关乎企业数据战略、安全治理与长期发展的核心决策。在“云优先”的浪潮下,公有云SaaS产品凭借开箱即…...

(四大天王)Python程序设计之四大核心数据结构:字典篇

(四大天王)Python程序设计之四大核心数据结构:字典篇摘要:在Python的“四大天王”——列表、元组、字典、集合中,字典(Dict)以其键值对映射和O(1)平均查找效率的特性,成为了处理关联…...

【计算机视觉】从Pixel到Mask:逐像素分类与掩码分类的实战对比

1. 计算机视觉中的像素级任务:从基础说起 第一次接触计算机视觉项目时,我盯着屏幕上密密麻麻的像素点发了好一会儿呆。这些看似简单的彩色小方块,究竟如何变成机器理解世界的语言?后来才明白,逐像素处理正是解锁图像理…...

12届蓝桥杯省赛Java B 组Q1~Q4

题目链接: Q1 蓝桥云课:ASC Q2 蓝桥云课:卡片 Q3 蓝桥云课:直线 Q4 蓝桥云课:货物摆放 算法原理: Q1解法:作差 时间复杂度O(1) 思路很简单,只需无脑算出L和A的差值&#xff…...

准分子消光炉市场预测:2025-2031年复合年增长率(CAGR)达5.5%

在工业表面处理领域,准分子消光炉作为一种依托准分子紫外(UV)光(典型波长172nm)的专用工业系统,正凭借其低温可控、精准改性的技术特性,重塑高端材料处理市场格局。据恒州诚思(YH Re…...

每日安全情报报告 · 2026-04-08

每日安全情报报告 2026-04-08 报告时间:2026年04月08日 12:49 覆盖周期:近48小时(2026-04-06 ~ 2026-04-08) 今日特别关注:微软 Patch Tuesday 日(Kerberos RC4 强制弃用生效) FortiClient EMS…...

1.C语言常见概念

目录1.C语言是什么?2.C语言的历史3.编译器的选择-VS2022正文1.C语言是什么?人和计算机是如何交流的?是使用计算机语言。就如同人与人交流使用的自然语言。目前的计算机语言有上千种,C语言就是其中一种,除此之外还有C/J…...

自适应散热风扇市场洞察:2020-2025年CAGR为14.8%

一、产品定义与技术基础:主动式热管理的核心突破自适应散热风扇作为主动式热管理装置的核心载体,通过集成温度传感器、转速反馈模块与PWM控制接口,实现基于设备运行状态、环境温度及内部热负载的动态调节。相较于传统恒速风扇,其闭…...

浪潮云电脑CD1000线刷固件包|基于原厂固件深度优化|支持Root+ADB调试|预装当贝3.1纯净桌面与全功能影音套件

温馨提示:文末有联系方式浪潮CD1000专属优化线刷固件 本刷机包专为浪潮云电脑CD1000一体机量身打造,严格基于出厂固件进行底层精简与性能调优,稳定兼容所有硬件模块,支持一键线刷,全程无需拆机。核心功能亮点&#xff…...

FastAPI负载测试终极指南:从配置到性能优化的完整方案

FastAPI负载测试终极指南:从配置到性能优化的完整方案 【免费下载链接】fastapi FastAPI framework, high performance, easy to learn, fast to code, ready for production 项目地址: https://gitcode.com/GitHub_Trending/fa/fastapi FastAPI作为一款高性…...

scGPT环境配置实战:从零搭建A6000兼容的深度学习环境

1. 为什么选择A6000搭建scGPT环境 NVIDIA A6000作为专业级显卡,拥有48GB GDDR6显存和10752个CUDA核心,特别适合处理scGPT这类需要大显存支持的深度学习任务。我在实际项目中使用A6000跑scGPT模型时,发现它的显存优势能轻松应对单细胞转录组数…...

【LeetCode】双指针专项合集

前言 本章练习:双指针:左右碰撞指针 目的:掌握左右指针向中间移动,最终相会的解法。 在下面这几道题中:思考不同题目中指针移动逻辑有什么区别 125:验证回文串 题目要求: 判断一个字符串是否是回…...

Linux GPIO驱动开发实战:从传统接口到新式gpiod

一、顶级架构一句话总结 设备树(gpio描述) → GPIO子系统 → gpiod接口 → 硬件引脚控制 GPIO是嵌入式开发中最基础的外设接口,Linux提供了新旧两套API,新式gpiod接口更安全、更简洁。二、GPIO子系统架构 架构层次 ┌─────────────────…...

强化学习(3)--最优状态价值最优策略

说明:本系列文章是我在学习了西湖大学赵世钰老师的《Mathematical Foundations of Reinforcement Learning》一书后的学习笔记,在B站上有赵老师的完整课程视频。 课程视频链接 PDF教材链接 本文代码链接 一、最优状态价值和最优策略 定义&#xff1a…...

MySQL 运算符详解

MySQL 运算符详解 MySQL 作为一款功能强大的关系型数据库管理系统,其运算符的使用贯穿于 SQL 语句的各个部分。本文将详细介绍 MySQL 中常用的运算符,包括算术运算符、比较运算符、逻辑运算符等,旨在帮助读者全面理解并掌握 MySQL 运算符的使用。 一、算术运算符 算术运算…...

Redis 服务器:全面解析与应用实践

Redis 服务器:全面解析与应用实践 引言 Redis(Remote Dictionary Server)是一款开源的、高性能的键值存储数据库。它采用内存作为存储介质,能够提供极快的读写速度,常用于缓存、会话管理、消息队列等领域。本文将全面解析Redis服务器的原理、配置、应用场景以及实践操作…...