首页 > 其他分享 >远程访问及控制

远程访问及控制

时间:2024-06-17 16:58:37浏览次数:10  
标签:文件 公钥 登录 控制 主机 用户 访问 101 远程

目录

终端

OpenSSH服务器

SSH(Secure Shell)协议

OpenSSH

服务监听选项

SSH配置

修改端口号

用户登录控制

指定用户登录

1.

2.

严格模式

最大会话数量

公钥验证

使用公钥认证让客户端登录系统

域名解析

跨主机下载、上传文件

下载

指定端口下载

上传

指定端口上传

sftp功能

下载

上传

端口号被修改后跨主机上传下载文件

下载

客户端修改端口

lrzsz工具时间快捷上传下载

下载

上传

wrapper访问控制

Xintd


终端

终端:接收用户的指令

解释器:shell,终端上执行命令和程序的程序。它接收用户输入的命令,并将其发送给操作系统进行处理。

TTY终端:电传打字机

虚拟终端:借助ssh协议远程连接某一个主机,实际上是获取了一个该主机的shell

终端是用户与计算机交互的界面,而Shell是在终端上执行命令和程序的解释器

ssh:22端口

telnet:23端口

OpenSSH服务器

  • SSH(Secure Shell)协议
    • 安全外壳协议
    • 是一种安全通道协议
    • 对通信数据进行了加密处理,用于远程管理
  • OpenSSH
    • 服务名称:sshd
    • 服务端主程序:/usr/sbin/sshd
    • 服务端配置文件:/etc/ssh/sshd_config
  • 服务监听选项
    • 端口号、协议版本、监听IP地址
      • 一切网络程序都有对应的端口号
    • 禁用反向解析

SSH配置

修改端口号

监听sshd进程,当前端口号为22

cd到ssh服务的相关目录

查看文件

进入sshd_config配置文件修改,在第17行设置端口为1234

由于默认监听的就是本机所有地址,所以不修改

关闭内核安全机制,重启服务,更新配置参数

ssh是一个安全机制,是受到内核保护的,一旦该服务的核心参数(端口号)被修改,内核安全机制就会生效,不允许重启sshd服务

再监听sshd进程,端口号当前为1234

可以看到sshd的一条连接进程的端口号还是22,

因为对于已经建立的连接,修改端口号不会对这种连接生效

如果当前把Xshell与虚拟机断开连接,在102主机上再重新连接

因为端口号被修改,所以要使用新的端口1234与虚拟机建立连接

会显示没有到达该主机的路由,其实跟路由没关系,是101主机的防火墙拦截了流量

那为什么之前使用22端口的时候防火墙不拦截呢?因为在默认情况下,防火墙不拦截22端口的流量,可以添加防火墙的流量策略,或者直接关闭防火墙

关闭101主机的防火墙

如果在别的主机连接指定主机时,当前使用的主机是哪个用户就用哪个用户登录指定主机

所以这里就是用102主机的root用户登录连接101主机

重新回到102的Xshell连接,输入密码,成功连接

当端口号改回22后,102主机再去通过指定1234端口连接101主机会显示

当使用102主机登录101主机后,在当前root家目录下使用ls -a命令会有一个.ssh隐藏目录

该目录有一个known_hosts(已知主机)文件,当前主机连接过哪些主机的信息 记录在该文件中

回看之前的连接信息

fingerprint(指纹):一种密钥,把目标主机的"指纹"信息保存到本机,有SHA的算法和MD5的算法提供了两种不同的密钥

用户登录控制

从第37行开始,是sshd用于配置用户登录的参数,当我们把登录次数的注释去掉设为6次(不去掉注释也默认6次)

修改完配置文件需要重启sshd服务让参数生效

去102主机尝试登录101主机,会发现只能登录3次,可是明明设置的参数是6次为什么只能输入3次密码?

因为PAM认证的认证机制是3次,在ssh中,登录次数 3,就不生效了

如果想要 指定登录次数 就要在连接时加一段选项

指定用户登录

1.

创建一个用户,添加密码

在102主机上 指定用户连接101的主机

2.

在sshd的配置文件中添加,允许指定用户登录

也可以添加IP地址,指定该用户只能在指定IP的主机上登录系统

此时在102主机使用zhangsan的用户登录就可以,但是使用root登录就不行

提高了系统的安全性

严格模式

严格模式是SSH服务器的一种安全设置,通过检查用户的家目录和相关文件的权限设置,确保其符合安全要求。

主要目的是防止潜在的安全风险,如恶意用户修改 authorized_keys 文件获取非法访问权限。启用严格模式可以提高系统的安全性,因为它要求家目录权限不能过于宽松

同时要求 .ssh 目录及相关文件的权限必须严格限制,只允许用户自己访问。

最大会话数量

两台主机建立连接,就是一个会话,允许多少个客户端同时用ssh的方式连接本服务器

公钥验证

公钥验证是SSH服务器用来验证用户身份的一种方法,通过比对用户提供的公钥和服务器上已注册的公钥信息来确认用户的身份。

配置文件中的 PubkeyAuthentication 选项用于启用或禁用公钥验证。

而 AuthorizedKeysFile 选项则用于指定存储用户公钥的文件路径。

往下翻可以看到密码验证,已经开启,我们现在登录系统所用的方式就是密码验证

使用公钥认证让客户端登录系统

在102客户端主机上使用ssh-keygen命令生成密钥文件,-t 选项指定密钥类型,这里指定为RSA算法生成密钥

密钥文件存放位置:用哪个用户登录就放到哪个用户的家目录,这里用的是root登录,使用默认路径,直接回车

系统会询问你是否要为私钥文件设置密码。如果你希望私钥文件受到保护,只能在输入密码后才能使用,你可以输入密码并按下回车键。如果你不想设置密码,可以留空密码字段直接按下回车键。如果设置了密码,在登录服务器主机时还会要求你确认密码。

生成过密钥文件后就可以去对应目录下查看密钥文件

  • 私钥文件(id_rsa):私钥文件应该被妥善保管,只有持有者可以访问。私钥用于解密从公钥加密的数据,并且也用于对数据进行数字签名。
  • 公钥文件(id_rsa.pub):公钥文件可以被分享给其他人或远程服务器。公钥用于加密数据或验证由私钥签名的数据。
  • 一个私钥文件对应一个公钥文件,一起构成了密钥对
  • 如果要以密钥的形式登录用户,就需要密钥对

然后通过ssh-copy-id命令将公钥文件拷贝生成到服务器的 authorized_keys 文件中

authorized_keys 文件是SSH服务器端用于存储被授权的公钥的文件。当一个用户尝试通过SSH连接到服务器时

服务器会检查该用户的authorized_keys文件,以确定是否允许该用户进行身份验证。

如果连接请求中包含的公钥在authorized_keys中找到匹配项,那么连接就会被允许。

去101服务器主机上的对应位置查看该文件有没有被生成出来

此时回到102客户端主机使用ssh 192.168.10.101 登录101主机,如果刚才设置了私钥文件的密码就需要输入刚才设置的密码,如果没设置,就实现了免密登录

域名解析

  • yes:表示启用反向DNS解析。当客户端连接到SSH服务器时,服务器会解析客户端的IP地址并获取对应的域名信息。但会增加连接的时间。
  • no:表示禁用反向DNS解析。当设置为no时,SSH服务器不会进行DNS解析,会减少连接时的时间。

关闭域名解析,在登录系统时就会直接使用提供的IP来连接服务器,少了解析功能连接系统的速度就会变快

因为我们实验用的是私有地址192.168.10.101不用解析,所以设为no或者注释掉

跨主机下载、上传文件

下载

比如你发布到公网上的一个服务器,你需要定期备份服务器上的某个很重要的文件

102主机把101主机上的某个文件下载到本地

使用scp命令下载101主机的文件

指定端口下载

上传

使用scp 要传输文件的路径 目标主机:路径

101主机接收完毕

指定端口上传

sftp功能

SFTP(Secure File Transfer Protocol)是一种基于SSH协议的安全文件传输协议,它提供了对远程文件系统进行操作的能力,并且在数据传输过程中提供了加密和认证功能

  • 用户可以通过SFTP协议在客户端和服务器之间传输文件,包括上传、下载、删除、重命名等操作,使得远程文件管理变得非常方便。
  • SFTP支持多种身份验证方式,包括密码认证和公钥认证,用户可以根据自己的需求选择适合的认证方式。
下载

使用get命令

上传

使用put命令

101主机如下

端口号被修改后跨主机上传下载文件

下载

将sshd的端口号改为1234,重启服务

在102主机使用scp命令加入指定端口的选项

上传

sftp指定端口操作

客户端修改端口

编辑102主机作为客户端的配置文件

将连接其他服务器的本机端口改为1234

作为客户端去登录其他服务器,不需要监听,用不到sshd服务,所以不需要重启sshd服务

lrzsz工具时间快捷上传下载

该工具只针对于Xshell

下载

安装该软件包

使用 sz 命令就可以从宿主机上传文件到该Linux系统

上传

使用 rz 文件路径 上传到宿主机

wrapper访问控制

先来到101客户端主机配置

在系统中提供了两个文件来配置允许访问和拒绝访问

进入允许访问的配置文件,配置允许访问本机指定服务的IP或网段

再配置拒绝的配置文件,拒绝所有主机

此时来到102主机登录101服务端的系统,成功进入

再开启一个103客户端主机访问101服务端主机就会显示

Xintd

Xintd:超级进程,它不是某个特定的服务,而是一组服务的集合

Xintd所能管理的服务都可以用wrapper访问控制进行管理

系统默认使用xinetd的服务分类

下方包含服务才可以用wrapper进行管理

服务

说明

标准Internet服务

telnet、ftp

信息服务

finger、netstat、systat

邮件服务

imap、imaps、pop2、pop3、pops

RPC服务

rquotad、rstatd、rusersd、sprayd、walld

BSD服务

comsat、exec、login、ntalk、shell、talk

内部服务

chargen、daytime、echo、servers、services、time

安全服务

irc

其他服务

name、tftp、uucp

标签:文件,公钥,登录,控制,主机,用户,访问,101,远程
From: https://blog.csdn.net/m0_70627741/article/details/139748327

相关文章

  • 处理问题:windows server 2016由于没有远程桌面授权服务器可以提供许可证,远程会话被中
      windowsserver可以多用户同时登陆,默认最大远程登录数量为2,如果有更多人需要同时远程登录,则需要安装远程桌面授权服务,第一次安装后,免费期为120天,超过则无法正常远程登录。解决办法如下:Windowsserver2016服务器远程桌面登录时出现错误提示:“由于没有远程桌面授权服务器......
  • modbus TCP 操作寄存器,控制气密性测试仪
    #include"modbus.h"#include<iostream>#pragmacomment(lib,"modbus.lib")usingnamespacestd;intmain(){  modbus_t*ctx;  constchar*ipAddress="192.168.1.2";//ModbusTCP从机的IP地址  constintport=8000;//......
  • DSP技术及应用的综合项目:串口与按键控制直流电机运行及液晶屏显示状态 芯片是TMS320F2
    目录绪论串口与按键控制直流电机运行及液晶屏显示状态一、实验目的及要求二、实验原理三、实验软硬件环境四、实验过程(实验步骤、记录、数据、分析)五、测试/调试及实验结果分析六、实验结论与体会内容说明参考资料绪论随着科技的飞速发展,数字信号处理器(DSP)在现代......
  • Z-Library最新地址 Z-Library国内可访问地址(长期更新)
    Z-Library(简称Z-Lib,前身为BookFinder)是一个影子图书馆网站,用户可在上面下载期刊、文章以及各类书籍,其共收录了超过 1000w 本书籍和 8000w 篇文章。因为版权问题,网站曾于2022年11月3日遭到封锁,但是强大的Z-Library有新的官方网址和镜像(不过镜像网站不太稳定),获得......
  • 工业自动化控制系统定制
    工业自动化控制系统定制:专业解决方案助力高效生产工业自动化控制系统定制是推动现代制造业向前发展的关键力量。本文将探讨工业自动化控制系统定制的重要性,并通过实际案例展示其在不同领域的应用效果。一、工业自动化控制系统定制的重要性在当今快速变化的市场环境中,工业自......
  • MySQL 远程访问失败的原因及解决方案
    原文地址:MySQL远程访问失败的原因及解决方案_mysql远程访问失败-CSDN博客文章目录1、失败的原因1.1、`/etc/mysql/my.cnf`文件中`bind-address=127.0.0.1`没有注释掉1.2、端口`3306`没有开放,使用`ss-tlnp`命令查看网络端口开启状态1.3、在`MySQL`数据库`user`表中`host`......
  • NI SCXI-1000 数据采集和控制框架
    SCXI-1000特点:模块化设计:该框架采用模块化设计,可以根据实际需求选择不同的模块进行组合,以满足各种数字量控制系统的需求。高可靠性:在设计和制造过程中采用了高品质的材料和工艺,保证了其能够在恶劣的环境条件下稳定运行。多通道支持:支持多个数字量输入/输出通道,可以同时处理......
  • 怎么控制多个存储设备的访问权限?数据安全存储方案来了
    数据安全存储是指将数据以安全的方式存储在存储系统中,以确保数据的机密性、完整性和可用性。要控制数据安全存储的权限以保障安全,可以采取以下措施:访问控制列表(ACLs):使用ACLs来定义对存储数据的访问权限。ACLs允许你为每个文件或目录指定哪些用户或组有权访问它们,以及何种类型的......
  • 获取three.js两点之间的控制点
    首先有两个点: constv0=newTHREE.Vector3(item.x,item.y,item.z);constv3=newTHREE.Vector3(item.target.x,item.target.y,item.target.z);如果想要获取中间点的控制线直接调用方法 getBezierPoint(v0,v3);getBezierPoint(v0,v3){//获取两点的控制点......
  • mysql dump 拉取远程数据同步到本地库的shell 脚本
    #!/bin/bash#远程MySQL连接信息REMOTE_HOST="8.8.11.100"REMOTE_USERNAME="root"REMOTE_PASSWORD="Yaya@1972"#本地MySQL连接信息LOCAL_HOST="8.8.9.248"#或者"localhost"LOCAL_USERNAME="root"LOCAL_PASSWORD......