系统学习Linux-SSH远程服务(二)

概念

安全外壳协议,提供安全可靠的远程连接

特点

ssh是工作在传输层和应用层的协议

ssh提供了一组管理命令

ssh 远程登陆

scp 远程拷贝

sftp 远程上传下载

ssh-copy-id

ssh keygen 生成

提供了多种身份验证机制

身份验证机制

密码验证  需要提供密码

密钥对验证  无需提供密码,直接登录

验证过程

客户端发起请求  ssh 服务器IP地址

确认是否保存指纹信息,yes确认保存

输入目标主机密码

打开子shell建立会话

若退出,则使用exit

加密机制

单向加密  不可逆的加密算法

对称加密  加密和解密使用相同的密钥

非对称加密  加密和解密使用一组密钥对(公钥、私钥)


基本参数

服务名  sshd

端口号  TCP/22

配置文件

服务器端

/etc/ssh/sshd_config  ssh主程序sshd的配置文件

/etc/ssh/ssh_host_*  服务器的公钥和私钥文件

~/.ssh/authorized_keys  密钥库文件

客户端

/etc/ssh/ssh.config  客户端的全局配置文件

~/.ssh/known_hosts  客户端存储服务器主机指纹的文件

~/.ssh.id_rsa  客户端生成的私钥

~/.ssh.id_rsa.pub  客户端生成的公钥

没有绝对的客户端和服务器,主要是看谁是发起端,谁是接收端

配置文件解析

/etc/ssh/sshd_config

Port        监听端口

Listenaddress    监听地址,0.0.0.0表示监听所有地址

PubkeyAuthentication        是否启用密钥对验证

PasswordAuthentication    是否启用密码验证

PermitEmptyPasswords        是否启用空密码,密码验证时,最好关闭

AuthorizedKeysFile      .ssh/authorized_keys    密钥库文件

/etc/ssh/ssh_config

ConnectTimeout    连接超时时间

基本操作

ssh

作用:远程连接的客户端工具

格式:ssh [options]  [user@]hostname  [command]

实验

指定用户登录  

新建或用已有用户

1.useradd lwj01  创建用户

 2.passwd lwj01  修改密码

3.用普通用户远程客户端

4.ssh root@192.168.1.2  

5.输入正确密码后登陆成功

不登录执行命令

1.ssh root@192.168.1.2 mkdir /opt/111 -p

2.不登陆情况创建名为111的文件夹

.

3.192.168.1.2虚拟机验证

指定端口  -p

指定网卡  -b


scp

作用:基于ssh的远程复制命令

实验

本地<-->本地

操作本机为本地与本地操作,不需要实验

本地<-->远程

案例:把opt文件夹下111文件夹复制到~下 

192.168.1.2虚拟机验证

远程<-->远程

案例:把192.168.1.2虚拟机opt下11.txt文件复制到192.168.1.3虚拟机~下

192.168.1.3虚拟机验证


sftp

作用:安全的文件传输程序

语法:sftp 地址ip 

输入密码后会进入输入命令模式

  • ls:列出远程服务器上当前目录的文件列表。
  • pwd:显示当前所在的远程服务器目录。
  • cd:切换远程服务器上的目录。
  • get <remote_filename>:从远程服务器下载文件到本地。
  • put <local_filename>:将本地文件上传到远程服务器。
  • rm <remote_filename>:删除远程服务器上的文件。
  • mkdir <directory_name>:在远程服务器上创建目录。

密钥对验证

作用:提供免交互的密码验证

实验

客户端生成密钥对  ssh-keygen

客户端将公钥上传至服务器  ssh-copy-id

服务器启用密钥对验证

客户端测试

生成密钥对:首先,在本地计算机上生成密钥对,一个私钥(通常存储在本地计算机上)和一个公钥(要上传到远程服务器)。可以使用以下命令生成密钥对:

ssh-keygen -t rsa

上传公钥到远程服务器:将生成的公钥上传到远程服务器上,这可以通过以下命令完成:

ssh-copy-id username@remote_host

其中,username是您在远程服务器上的用户名,remote_host是服务器的IP地址或域名。

验证密钥对登录:完成上述步骤后,可以尝试使用密钥对进行SSH登录。使用以下命令:

ssh username@remote_host

如果一切顺利,现在应该可以无需输入密码即可登录到远程服务器。

禁用密码登录(可选):为了增加系统的安全性,建议禁用密码登录,并只允许密钥对登录。要禁用密码登录,需要修改SSH服务器的配置文件。打开 /etc/ssh/sshd_config 文件,并确保以下行处于注释状态:

#PasswordAuthentication yes

确保以下行没有被注释:

PubkeyAuthentication yes

保存修改并重启SSH服务:

sudo service ssh restart

现在,只能使用密钥对进行SSH登录。 请注意,密钥对验证是一种安全且推荐的身份验证机制。但为了维护系统的安全性,确保您的私钥存储在受密码保护的位置,并定期更换密钥。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/3307.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pyGPlates + GPlately + PlateTectonicTools——深时时空数据分析

pyGPlates GPlately PlateTectonicTools——深时时空数据分析 摘要介绍准备example 1&#xff1a;通过DataServer对象从EarthByte serves上获取板块模型 板块重建 资料来源备注&#xff1a; gplately API文档 摘要 GPlates作为桌面图形用户界面应用&#xff0c;可用于深时地…

计算机网络 day6 arp病毒 - ICMP协议 - ping命令 - Linux手工配置IP地址

目录 arp协议 arp病毒\欺骗 arp病毒的运行原理 arp病毒产生的后果&#xff1a; 解决方法&#xff1a; ICMP协议 ICMP用在哪里&#xff1f; ICMP协议数据的封装过程 ​编辑 为什么icmp协议封装好数据后&#xff0c;还要加一个ip包头&#xff0c;再使用ip协议再次进…

【ArcGIS Pro二次开发】(50):布局(Layout)的基本操作

ArcGIS Pro SDK中的布局(Layout)是用于创建和编辑打印布局的一组功能。 Layout是打印布局的容器&#xff0c;它可以包含多个元素&#xff0c;例如地图框、文本框、图例、比例尺等。 Layout中包含多种元素&#xff0c;比较重要的有&#xff1a;地图(MapFrameElement&#xff0…

Android Hook技术实战详解

前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下"通俗易懂&#xff0c;风趣幽默"&#xff0c;感觉非常有意思,忍不住分享一下给大家。 &#x1f449;点击跳转到教程 前言&#xff1a; 什么是Android Hook技术&#xff1f; Android Hook技术是指在Android…

1.6 运维分类与工作内容

文章目录 运维分类与工作内容1. 系统运维2. 网络运维3. 数据库运维4. 应用运维5. 安全运维结论 运维分类与工作内容 运维&#xff08;Operations and Maintenance&#xff0c;简称O&M&#xff09;是信息技术领域中负责管理和维护企业的信息技术基础设施的重要职能。随着技…

Python爬虫学习笔记(八)————Phantomjs与Chrome handless

目录 1.Phantomjs &#xff08;1&#xff09;什么是Phantomjs&#xff1f; &#xff08;2&#xff09;如何使用Phantomjs&#xff1f; 2 .Chrome handless &#xff08;1&#xff09;系统要求&#xff1a; &#xff08;2&#xff09;配置&#xff1a; &#xff08;3&…

API例子:用Python驱动采集网页数据

1 引言 本文讲解怎样用Python驱动浏览器写一个简易的网页数据采集器。开源Python即时网络爬虫项目将与Scrapy&#xff08;基于twisted的异步网络框架&#xff09;集成&#xff0c;所以本例将使用Scrapy采集淘宝这种含有大量ajax代码的网页数据&#xff0c;但是要注意本例一个严…

matlab重名函数调用踩坑记录

我新安装了matlab的robotics toolbox&#xff0c;然而调用的rotx不是我想要的函数。 我上网查了一下资料&#xff0c;知乎和csdn有相关的回答&#xff0c;但是我试了一下还是不行。它们的方法是移除路径再添加路径避免函数的冲突。相关方法放在文末的相关参考1 2。这里建议先用…

VScode跑gtest

可能得前置步骤 VScode安装cpp: 安装 C/C 扩展&#xff1a;打开 VSCode 扩展市场&#xff0c;搜索「C/C」并安装扩展。 安装编译gtest 安装 Google Test&#xff1a; 如果你使用的是 Windows&#xff0c;可以下载并安装 pre-built 版本&#xff1b;如果你使用的是 Linux 或…

ETHERNET/IP转TCP/IP网关tcp/ip协议包含哪几层

大家好&#xff0c;今天我们将带大家了解一款自主研发的通讯网关&#xff0c;远创智控YC-EIP-TCP/IP。这是一个强大的工具&#xff0c;能帮助我们将ETHERNET/IP网络和TCP/IP网络连接在一起&#xff0c;让我们更好地管理和监控网络。 1, 首先&#xff0c;让我们来看看这款网关…

orbslam3 生成标定板rosrun kalibr kalibr_create_target_pdf --type

rosrun kalibr kalibr_create_target_pdf --type apriltag --nx 6 --ny 6 --tsize 0.08 --tspace 0.3小师妹要做相机视觉标定&#xff0c;需要制作棋盘格&#xff0c;无奈其电脑有些卡&#xff0c;对此毫无经验的博主从头开始安装&#xff08;此前博主已经安装了ROS环境&#x…

leetcode 965.单值二叉树

⭐️ 题目描述 &#x1f31f; leetcode链接&#xff1a;单值二叉树 思路&#xff1a; 让当前的根节点与左孩子节点与右孩子节点判断&#xff0c;若相等则继续向下分治&#xff0c;让左孩子与右孩子当作新的根节点继续判断&#xff0c;直到某个节点不相等。 1️⃣ 代码&#x…

用thinkphp6写一个博客系统,输出完整项目代码

很抱歉&#xff0c;我无法提供完整项目代码。但是&#xff0c;我可以为您提供一个简单的示例&#xff0c;以帮助您开始使用 ThinkPHP 6 构建博客系统。 环境准备&#xff1a;安装 PHP 和 Composer安装并配置一个适当的 Web 服务器&#xff08;如 Apache 或 Nginx&#xff09;创…

Gateway网关组件(在Spring Cloud整合Gateway(idea19版本))

Spring Cloud Gateway官网:Spring Cloud Gateway 局域网中就有网关这个概念&#xff0c;局域网接收数据或发送数据都要通过网关&#xff0c;比如使用VMware虚拟机软件搭建虚拟机集群的时候&#xff0c;往往我们需要选择IP段中的⼀个IP作为网关地址,网关可以对请求进行控制,提升…

【Linux系统】结合有趣的小故事让你学懂生产者消费者模型

目录 由故事引入模型故事背景供货商们的矛盾市民们和供货商之间的矛盾一市民们和供货商之间的矛盾二市民们的矛盾模型总结 生产者消费者模型为什么要使用生产者消费者模型&#xff1f;生产者消费者模型的特点生产者消费者模型优点 基于BlockingQueue的生产者消费者模型C queue模…

力扣 452. 用最少数量的箭引爆气球

题目来源&#xff1a;https://leetcode.cn/problems/minimum-number-of-arrows-to-burst-balloons/description/ C题解1&#xff1a; 根据x_end排序&#xff0c;x_start小的在前&#xff0c;这样可以保证如果第 i 个球的x_end大于等于第 j 个球的x_start时&#xff0c;第 j 个球…

ElasticSearch文档(document)在index上的增删改查

文章目录 一、document定义&#xff1a;二、单条增删改查1、创建索引&#xff1a;2、添加文档&#xff1a;3、获取文档&#xff1a;4、更新文档&#xff1a;5、删除文档&#xff1a; 三、批量增删改查&#xff1a;1、批量添加文档&#xff1a;2、批量更新文档&#xff1a;3、批…

自建DNSlog服务器

DNSlog简介 在某些情况下&#xff0c;无法利用漏洞获得回显。但是&#xff0c;如果目标可以发送DNS请求&#xff0c;则可以通过DNS log方式将想获得的数据外带出来。 DNS log常用于以下情况&#xff1a; SQL盲注无回显的命令执行无回显的SSRF 网上公开提供dnslog服务有很多…

FactoryBean源码解析

文章目录 一、简介二、FactoryBean 接口的方法三、FactoryBean 与 BeanFactory 的区别四、源码解析五、实际应用 一、简介 FactoryBean 是 Spring 框架中的一个接口&#xff0c;用来创建特定类型的 Bean 对象。实现FactoryBean 接口就可以自定义 Bean 对象的创建过程。Factory…

利用ArcGIS Pro制作三维效果图

1、新建工程 打开Arcgispro,新建工程,这里我们要用到的模板为全局场景。 2、添加数据 这里添加的数据需要有一个字段内容是数值的,这个字段也是接下来要进行拉伸的字段。 3、高度拉伸 数据添加进来后,如下图所示,这时图层处于2D图层里。 这时我们点中该图层,回到菜单栏…