当前位置: 首页 > 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.在单进程当中也存…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体&#xff08;对象或容器&#xff09;QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质&#xff08;定义颜色、反光等&#xff09;QFirstPersonC…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...