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

Linux SSH命令实战教程,提升你的服务器管理基本功!

在这里插入图片描述

前言

大家好,又见面了,我是沐风晓月,本文是专栏【linux基本功-基础命令实战】的第62篇文章。

专栏地址:[linux基本功-基础命令专栏] , 此专栏是沐风晓月对Linux常用命令的汇总,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。

另外为了帮助大家更好的学习英语,我创建了 从零开始学英语社区,欢迎点击进入社区,一起交流学习:
点击可直达:

从零开始学英语社区

文章目录

  • 前言
  • 一. SSH命令介绍
  • 二. SSH语法格式及常用参数
  • 三. 参考案例
    • 3.1 查看ssh版本
    • 3.2 链接到远程主机
    • 3.3 连接远程主机并指定端口
    • 3.4 通过ssh运行远程的shell命令
    • 3.5 设置登录时候的提示信息
      • banner 和 /etc/motd的区别:
  • 总结

🏠个人主页:我是沐风晓月
🧑个人简介:大家好,我是沐风晓月,双一流院校计算机专业😉😉
💕 座右铭: 先努力成长自己,再帮助更多的人 ,一起加油进步🍺🍺🍺
💕欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信😘

一. SSH命令介绍

SSH(Secure Shell)是Linux系统中用于远程访问主机、传输数据的协议。通过使用SSH协议,可以在不同的计算机之间建立一个安全的通信管道,保证数据传输过程的安全性,并能够有效地防止未经授权的访问和利用攻击者的拦截和窃听。

二. SSH语法格式及常用参数

ssh常用的语法格式:

ssh [options] [user@]hostname [command]

常用参数如下:

参数描述
-p指定SSH服务器的端口号,默认值是22;
-l指定登录远程主机的用户名;
-q启用安静模式,不显示连接过程的提示信息;
-X开启X11转发模式,允许在SSH会话中运行图形化界面程序;
-i指定私钥文件的路径;
-C启用压缩传输,加快数据传输速度;
-t强制分配伪终端,即远程终端的操作和本地终端一样;
-N不执行远程命令,仅作为端口转发或隧道使用;
-f在后台运行SSH会话,不占用终端;
-v启用详细模式,显示SSH连接和认证过程的详细信息。

三. 参考案例

3.1 查看ssh版本

查看ssh的版本信息,可以使用:-V参数

[root@mufeng163 ~]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
[root@mufeng163 ~]# 

linux一般都自带openssh,只要能够远程登录,就说明ssh是已经开着的

3.2 链接到远程主机

连接远程主机的命令格式:

  • 方法一:

ssh [远程主机用户名] @[远程服务器主机名或IP地址] -p port

如果用root进程登录远程主机可以这样:

[root@mufengssh]# ssh 192.168.0.22

普通用户登录是这样的:

[root@mufeng163 ~]# useradd mufenggrow && echo 123456 | passwd --stdin mufenggrow
更改用户 mufenggrow 的密码 。
passwd:所有的身份验证令牌已经成功更新。[root@mufeng163 ~]# ssh mufenggrow@127.0.0.1The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
ECDSA key fingerprint is SHA256:xIsWK0miEQ+TcpYNJOt98XKh7W0ZtJYWbHgO0L0+z6A.
ECDSA key fingerprint is MD5:c7:87:1a:9e:9c:fb:3f:fc:a0:e4:04:d6:8e:24:26:af.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '127.0.0.1' (ECDSA) to the list of known hosts.
mufenggrow@127.0.0.1's password: 
[mufenggrow@mufeng163 ~]$ 

第一次登录服务器时系统没有保存远程主机的信息,为了确认该主机身份会提示用户是否继续连
接,输入yes 后登录,这时系统会将远程服务器信息写入用户主目录下的$HOME/.ssh/known_hosts文件中,下次再进行登录时因为保存有该主机信息就不会再提示了

RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。

  • 方法二:
    ssh -l [远程主机用户名] [远程服务器主机名或IP 地址] -p port

此方法了解即可:

例:ssh -l mufenggrow 192.168.0.22
注:-l login_name

3.3 连接远程主机并指定端口

首先修改一下ssh的端口号:

[root@mufeng163 ~]# vim /etc/ssh/sshd_config [root@mufeng163 ~]# grep ^Port /etc/ssh/sshd_config
Port 10022

修改完成后进行重启:

[root@mufeng163 ~]# systemctl  restart sshd

开始登录:

ssh 192.168.1.163 -p 10022

3.4 通过ssh运行远程的shell命令

[root@mufeng163 ~]# ssh -t -p 10022 mufenggrow@127.0.0.1 'touch aaa;ls -l' 
mufenggrow@127.0.0.1's password: 
总用量 0
-rw-rw-r--. 1 mufenggrow mufenggrow 0 610 10:42 aaa
Connection to 127.0.0.1 closed.

-t选项分配了一个伪终端PTY,而-p选项指定了SSH连接使用的端口。命令ls -l放在单引号中传给远程服务器执行。

3.5 设置登录时候的提示信息

首先编辑一个文件,如bannertest.txt,文件内容自行定义。然后打开/etc/ssh/sshd_config文件并查找下面这样的行,把地址写对:

[root@mufeng163 ~]# echo aaa > /root/bannertest.txt
[root@mufeng163 ~]# vim /etc/ssh/sshd_config 
[root@mufeng163 ~]# grep ^Banner !$
grep ^Banner /etc/ssh/sshd_config
Banner /root/bannertest.txt
[root@mufeng163 ~]# systemctl  restart sshd
[root@mufeng163 ~]# ssh 127.0.0.1
The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
ECDSA key fingerprint is SHA256:xIsWK0miEQ+TcpYNJOt98XKh7W0ZtJYWbHgO0L0+z6A.
ECDSA key fingerprint is MD5:c7:87:1a:9e:9c:fb:3f:fc:a0:e4:04:d6:8e:24:26:af.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '127.0.0.1' (ECDSA) to the list of known hosts.
aaa
root@127.0.0.1's password: 
Last login: Sat Jun 10 10:53:35 2023 from 192.168.1.4

可以看到aaa,显示在文本中了。

banner 和 /etc/motd的区别:

SSH协议在建立连接之前,可以通过banner的形式向连接方发送欢迎信息或者警示信息;而/etc/motd属于Linux系统中用于向登录用户显示某些消息的文件。

banner在客户端连接时就会被发送,不需要用户登录即可显示,通常被用于在SSH连接之前向用户展示重要的信息或者警告。在SSH服务器中,可以通过编辑/etc/ssh/sshd_config文件来配置banner信息。

而/etc/motd 则是在用户登录后显示的一条信息,包括系统版本、当前登录用户、主机名等信息。系统管理员可以通过编辑/etc/motd文件来定制显示的信息,以便向用户提供更多信息。/etc/motd重启或动态更新后将重新显示。

因此,banner和/etc/motd之间主要的区别是banner是在连接之前显示的欢迎信息或警告信息,而/etc/motd则是在登录之后以交互式的方式向用户显示信息。

总结

ssh命令在日常工作中,应用的比较广泛,一定要认真学习,记熟记牢常用参数。

💕💕💕 好啦,这就是今天要分享给大家的全部内容了,我们下期再见!✨ ✨ ✨
🍻🍻🍻如果你喜欢的话,就不要吝惜你的一键三连了~

请添加图片描述
在这里插入图片描述

相关文章:

Linux SSH命令实战教程,提升你的服务器管理基本功!

前言 大家好,又见面了,我是沐风晓月,本文是专栏【linux基本功-基础命令实战】的第62篇文章。 专栏地址:[linux基本功-基础命令专栏] , 此专栏是沐风晓月对Linux常用命令的汇总,希望能够加深自己的印象&am…...

【Python】Python进阶系列教程-- Python3 CGI编程(二)

文章目录 前言什么是CGI网页浏览CGI架构图Web服务器支持及配置第一个CGI程序HTTP头部CGI环境变量GET和POST方法使用GET方法传输数据简单的表单实例:GET方法使用POST方法传递数据通过CGI程序传递checkbox数据通过CGI程序传递Radio数据通过CGI程序传递 Textarea 数据通…...

do..while、while、for循环反汇编剖析

1、循环语句重要特征提取 循环语句最重要的特点就是执行的过程中会往上跳&#xff01;&#xff01;&#xff01; 箭头往上跳的一般都是循环语句&#xff0c;比如下面的for循环&#xff1a; 2、do..while语句反汇编 #include<iostream> using namespace std; #pragma …...

【代码随想录】刷题Day53

1.最长公共子序列 1143. 最长公共子序列 和之前的一道题目的区别就是这个子序列不需要每个字符相邻。那么条件就变成两种了&#xff0c;一种是当前的字符相同&#xff0c;一种是不同。相同跟之前的条件一样&#xff1b;不同则需要继承上次比较的较大值。if (text1[i - 1] tex…...

MySQL 索引及查询优化总结

一个简单的对比测试 前面的案例中&#xff0c;c2c_zwdb.t_file_count表只有一个自增id&#xff0c;FFileName字段未加索引的sql执行情况如下&#xff1a; 在上图中&#xff0c;typeall&#xff0c;keynull&#xff0c;rows33777。该sql未使用索引&#xff0c;是一个效率非常低…...

什么是AJAX?

AJAX是一种基于Web的技术&#xff0c;它允许Web应用程序在不刷新整个页面的情况下与服务器进行交互。通过AJAX&#xff0c;Web应用程序可以使用JavaScript向服务器发送异步请求并在不干扰用户的情况下更新页面的部分内容。 AJAX是Asynchronous JavaScript and XML的缩写。尽管…...

报表生成器FastReport .Net用户指南:显示数据列、HTML标签

FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案&#xff0c;使用FastReport .NET可以创建独立于应用程序的.NET报表&#xff0c;同时FastReport .Net支持中文、英语等14种语言&#xff0c;可以让你的产品保证真正的国际性。 FastReport.NET官方版…...

bootstrap-dialog弹框,去掉遮盖层,可移动

1.去掉遮盖层的设置data-backdrop"false" <div class"modal fade" id"modal" aria-modal"true" role"dialog" data-backdrop"false" style"width:50%"><div class"modal-dialog modal-l…...

7. user-Agent破解反爬机制

文章目录 1. 为什么要设置反爬机制2. 服务器如何区分浏览器访问和爬虫访问3. 反爬虫机制4. User-Agent是什么5. 如何查询网页的User-Agent6. user-agent信息解析7. 爬虫程序user-agent和浏览器user-agent的区别8. 代码查看爬虫程序的user-agent9. 在代码中加入请求头信息 1. 为…...

3.Nginx+Tomcat负载均衡和动静分离群集

文章目录 NginxTomcat负载均衡和动静分离群集Nginx作用实验七层反向代理nginx动静分离四层反向代理负载均衡 NginxTomcat负载均衡和动静分离群集 Nginx是-款非常优秀的HTTP服务器软件 支持高达50 000个并发连接数的响应拥有强大的静态资源处理能力运行稳定内存、CPU等系统资源…...

数据结构与算法之树结构

目录 为什么要使用树结构树结构基本概念树的种类树的存储与表示常见的一些树的应用场景为什么要使用树结构 线性结构中不论是数组还是链表,他们都存在着诟病;比如查找某个数必须从头开始查,消耗较多的时间。使用树结构,在插入和查找的性能上相对都会比线性结构要好 树结构…...

【python】 用来将对象持久化的 pickle 模块

pickle 模块可以对一个 Python 对象的二进制进行序列化和反序列化。说白了&#xff0c;就是它能够实现任意对象与二进制直接的相互转化&#xff0c;也可以实现对象与文本之间的相互转化。 比如&#xff0c;我程序里有一个 python 对象&#xff0c;我想把它存到磁盘里&#xff…...

【博客654】prometheus配置抓取保护以防止压力过载

prometheus抓取保护配置以防止压力过载 场景 担心您的应用程序指标可能突然激增&#xff0c;以及指标突然激增导致prometheus压力过载 就像生活中的许多事情一样&#xff0c;标签要有节制。当带有用户 ID 或电子邮件地址的标签被添加到指标时&#xff0c;虽然它不太可能结束…...

Backtrader官方中文文档:第十三章Observers观察者

本文档参考backtrader官方文档,是官方文档的完整中文翻译,可作为backtrader中文教程、backtrader中文参考手册、backtrader中文开发手册、backtrader入门资料使用。 本章包含 backtrader 官方Observers章节全部内容,入口 : https://backtrader.com/docu/observers-and-sta…...

算法leetcode|54. 螺旋矩阵(rust重拳出击)

文章目录 54. 螺旋矩阵&#xff1a;样例 1&#xff1a;样例 2&#xff1a;提示&#xff1a; 分析&#xff1a;题解&#xff1a;rust&#xff1a;go&#xff1a;c&#xff1a;python&#xff1a;java&#xff1a;每次循环移动一步&#xff1a;每次循环完成一个顺时针&#xff1a…...

单容水箱建模(自衡单容水箱+无自衡单容水箱)

自衡单容水箱Simulink建模和PLC源代码请参看下面文章链接: 单容双容水箱建模(simulink仿真+PLC代码)_RXXW_Dor的博客-CSDN博客PLC通过伯努利方程近似计算水箱流量详细内容请参看下面的文章博客PLC通过伯努利方程近似计算水箱流量(FC)_怎么用伯努利方程求某水位流量_RXXW_Dor的…...

分享Python7个爬虫小案例(附源码)

本次的7个python爬虫小案例涉及到了re正则、xpath、beautiful soup、selenium等知识点&#xff0c;非常适合刚入门python爬虫的小伙伴参考学习。注&#xff1a;若涉及到版权或隐私问题&#xff0c;请及时联系我删除即可。 1.使用正则表达式和文件操作爬取并保存“某吧”某帖子…...

我用ChatGPT写2023高考语文作文(一):全国甲卷

2023年 全国甲卷 适用地区&#xff1a;广西、贵州、四川、西藏 人们因技术发展得以更好地掌控时间&#xff0c;但也有人因此成了时间的仆人。 这句话引发了你怎样的联想与思考&#xff1f;请写一篇文章。 要求&#xff1a;选准角度&#xff0c;确定立意&#xff0c;明确文体&am…...

c++ modbusTCP

//Modbus TCP是一种基于TCP/IP协议的Modbus协议&#xff0c;它允许Modbus协议通过以太网进行通信。 //在C中&#xff0c;可以使用第三方库来实现Modbus TCP通信&#xff0c;例如libmodbus和QModbus。 //使用libmodbus库实现Modbus TCP通信的示例代码如下&#xff1a; //c #incl…...

linux(信号结尾)

目录&#xff1a; 1.可重入函数 2.volatile关键字 3.SIGCHLD信号 -------------------------------------------------------------------------------------------------------------------------------- 1.可重入函数----------用来描述一个函数的特点的 1.在单进程当中也存…...

Docker Desktop 快速搭建本地 Kubernetes 集群:解决镜像拉取与生态集成

1. 项目概述&#xff1a;在本地桌面环境快速搭建K8s生态 如果你是一名开发者或者运维工程师&#xff0c;想在自己的Mac或Windows电脑上快速体验和学习Kubernetes&#xff08;K8s&#xff09;及其周边生态&#xff0c;比如Istio服务网格、Helm包管理器&#xff0c;那么Docker D…...

告别混乱:用SAP STO退货功能(NCR/NLR)清晰管理公司间物料退回

告别混乱&#xff1a;用SAP STO退货功能&#xff08;NCR/NLR&#xff09;清晰管理公司间物料退回 当集团企业发展到多工厂、多法人架构时&#xff0c;物料在组织间的流动管理往往成为供应链的痛点。特别是在退货场景下&#xff0c;手工处理导致的账实不符、责任归属模糊等问题&…...

Claude Code配置切换器:一键管理多AI服务环境变量

1. 项目概述&#xff1a;为什么我们需要一个Claude Code的配置切换器如果你和我一样&#xff0c;日常重度依赖Claude Code这个AI编程助手&#xff0c;那你肯定遇到过这个场景&#xff1a;今天想用智谱的GLM-4.5&#xff0c;明天想切到月之暗面的Kimi&#xff0c;后天可能又得用…...

AI编码助手技能开发:基于Agent Skills打造智能命令行速查工具

1. 项目概述&#xff1a;一个能“听懂人话”的开发者命令行技能如果你和我一样&#xff0c;每天在终端和代码编辑器里花费大量时间&#xff0c;那你肯定对“命令遗忘症”深有体会。明明上周才用过git worktree来并行处理两个功能分支&#xff0c;今天突然想不起来具体的参数顺序…...

告别图形界面:在Linux终端中高效管理百度网盘文件的完整指南

1. 为什么需要命令行管理百度网盘&#xff1f; 很多开发者都遇到过这样的场景&#xff1a;远程连接到Linux服务器时&#xff0c;需要快速上传日志文件到网盘&#xff0c;或者从网盘下载数据集到服务器。传统做法是先把文件下载到本地电脑&#xff0c;再用SFTP工具上传到服务器—…...

从“能用”到“可靠”:基于SonarQube与Jenkins的Java代码质量防线构建实战

当测试覆盖率不再只是一串数字&#xff0c;而是合并代码前的“一票否决权” 1. 为什么你的“质量门禁”只是个摆设&#xff1f; 在很多团队的CI/CD流水线中&#xff0c;SonarQube的集成往往停留在“能跑就行”的阶段。流水线里确实有代码扫描这一步&#xff0c;日志里也打印出…...

量子机器学习框架互操作性挑战与解决方案

1. 量子机器学习框架互操作性挑战与解决方案量子机器学习&#xff08;QML&#xff09;作为量子计算与经典机器学习的交叉领域&#xff0c;近年来在理论和实践层面都取得了显著进展。变分量子算法&#xff08;VQAs&#xff09;和参数化量子电路&#xff08;PQCs&#xff09;已成…...

多智能体安全协调中的约束推断与CBF应用

1. 多智能体安全协调中的约束推断方法概述在分布式多智能体系统中&#xff0c;安全协调一直是个极具挑战性的问题。想象一下&#xff0c;当一群机器人在仓库中协同搬运货物时&#xff0c;每个机器人可能只知道部分环境信息&#xff08;比如某些障碍物的位置&#xff09;&#x…...

基于LangChain与Ollama构建本地化RAG智能助手:技术栈实践全解析

1. 项目概述&#xff1a;一个本地化AI助手的技术栈实践最近在折腾一个叫“papa-ts”的项目&#xff0c;名字挺有意思&#xff0c;直译过来就是“你的爸爸&#xff08;TypeScript版&#xff09;”。当然&#xff0c;这只是一个项目代号&#xff0c;它的核心目标很明确&#xff1…...

凌晨还在改论文?这些降重黑科技帮你一键通关

凌晨对着电脑屏幕改论文&#xff0c;那种既疲惫又焦虑的感觉&#xff0c;经历过的人都懂。好在现在的降重工具已经不只是“替换同义词”那么简单了&#xff0c;像 毕业之家 和 PaperRed 这两款主流工具&#xff0c;各自走了完全不同的技术路线&#xff0c;可以根据你的痛点来选…...