当前位置: 首页 > 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命令在日常工作中,应用的比较广泛,一定要认真学习,记熟记牢常用参数。

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

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

http://www.lryc.cn/news/92655.html

相关文章:

  • 【Python】Python进阶系列教程-- Python3 CGI编程(二)
  • do..while、while、for循环反汇编剖析
  • 【代码随想录】刷题Day53
  • MySQL 索引及查询优化总结
  • 什么是AJAX?
  • 报表生成器FastReport .Net用户指南:显示数据列、HTML标签
  • bootstrap-dialog弹框,去掉遮盖层,可移动
  • 7. user-Agent破解反爬机制
  • 3.Nginx+Tomcat负载均衡和动静分离群集
  • 数据结构与算法之树结构
  • 【python】 用来将对象持久化的 pickle 模块
  • 【博客654】prometheus配置抓取保护以防止压力过载
  • Backtrader官方中文文档:第十三章Observers观察者
  • 算法leetcode|54. 螺旋矩阵(rust重拳出击)
  • 单容水箱建模(自衡单容水箱+无自衡单容水箱)
  • 分享Python7个爬虫小案例(附源码)
  • 我用ChatGPT写2023高考语文作文(一):全国甲卷
  • c++ modbusTCP
  • linux(信号结尾)
  • 【漏洞修复】node-exporter被检测出来pprof调试信息泄露漏洞
  • 在linux 上安装 NFS服务器软件
  • 网卡中的Ring buffer -- 解决 rx_resource_errors 丢包
  • 六月九号补题日记:Codeforces Round 877 (Div. 2)
  • python基础选择题,高中适用
  • Linux 面试题-(腾讯,百度,美团,滴滴)
  • DDD--战略设计步骤
  • Web Scoket简述
  • “Docker 技术在企业中的应用及挑战解决方案“
  • vue中开发包、生产包、全局包的区别以及安装语法
  • list的模拟实现