栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

远程访问及控制

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

远程访问及控制

目录

SSH远程登录协议

        SSH服务

                常见的ssh协议

        ssh原理

                公钥传输原理

                ssh加密通讯原理

                登录

服务端配置

        服务端常用配置

        使用密钥对其免交互验证登录

            基于密钥的登录方式

                        ssh客户端 

 TCP Wrappers

        TCP Wrappers的访问策略

                策略的配置方式

        访问控制的基本原则

轻量级自动化运维工具pssh


SSH远程登录协议

        SSH服务

                ssh(secure Shell )是一种安全通道协议,主要用来实现字符界面的远程登录、远程控制等功能,SSH协议对通信双方的数据传输进行了加密处理,其中包含括用户登录时输入的用户口令,SSH为建立在应用层和传输层基础上的安全协议

                          SSH客户端<-----------网络----------------------->SSH服务端

优点:

        数据传输是加密的,可以防止信息泄露

        数据传输是压缩的,可以提高传输速度

                常见的ssh协议

        客户端

Linux Client:ssh、scp、sftp、slogin

Windows Client:Xshell、Mobaxterm、Putty、Securecrt、SshSecureShellClient

OpenSSH是实现SSH协议的开源软件项目,适用于各种UNIX Linux操作系统

Centos 7 系统默认已安装Openssh相关软件包,并将sshd服务添加为开机自启动,执行“systemctl start sshd”命令即可启动sshd服务,sshd服务默认使用的是TCP 22号端口,安全协议版本sshv2(之前有sshv1 有漏洞)

sshd服务默认配置文件是/etc/sshd_config

        ssh_config和sshd_config都是ssh服务的配置文件,二者区别在于前者是针对客户端的配置文件,后者则是针对服务端的配置文件

ssh服务端主要包括两个服务功能 ssh远程链接和sftp服务

        作用:SSHD 服务使用 SSH 协议可以用来进行远程控制,或在计算机之间传送文件。 相比较之前用 Telnet 方式来传输文件要安全很多,因为 Telnet 使用明文传输,SSH 是加密传输。

OpenSSH

        服务名称:sshd
        服务端主程序:/usr/sbin/sshd  
        服务端配置文件:/etc/ssh/sshd_config 
        客户端配置文件:/etc/ssh/ssh_config

        ssh原理

                公钥传输原理

 ●客户端发起连接请求

●服务端返回自己的公钥,以及一个会话id(这一步客户端得到服务端公钥)

●客户端生成密钥对

●客户端用自己的公钥异或会话id,计算出一个值Res,并用服务端的公钥加密

●客户端发送加密后的值到服务端,服务端用私钥解密,得到Res

●服务端用解密后的值Res异或会话id,计算出客户端的公钥(这一步服务端得到客户端公钥)

●最终,双方各持有三个密钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都会被加密

                ssh加密通讯原理

        对称加密

        概念 采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用

        常用算法 在对称加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。

        特点

1)加密方和解密方使用同一个密钥;

2)加密解密的速度比较快,适合数据比较长时的使用;

3)密钥传输的过程不安全,且容易被破解,密钥管理也比较麻烦;

        优缺点 对称加密算法的优点是算法公开、计算量小、加密速度快、加密效率高。 对称加密算法的缺点是在数据传送前,发送方和接收方必须商定好秘钥,然后使双方都能保存好秘钥。其次如果一方的秘钥被泄露,那么加密信息也就不安全了。另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的独一秘钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担

        非对称加密 

        概念

        非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

        常用算法 RSA(RSA algorithm):目前使用最广泛的算法 DSA(Digital Signature Algorithm):数字签名算法,和 RSA 不同的是 DSA 仅能用于数字签名,不能进行数据加密解密,其安全性和RSA相当,但其性能要比RSA快 ECC(Elliptic curve cryptography,椭圆曲线加密算法) ECDSA:Elliptic Curve Digital Signature Algorithm,椭圆曲线签名算法,是ECC和 DSA 的结合,相比于RSA算法,ECC 可以使用更小的秘钥,更高的效率,提供更高的安全保障

        原理 首先ssh通过加密算法在客户端产生密钥对(公钥和私钥),公钥发送给服务器端,自己保留私钥,如果要想连接到带有公钥的SSH服务器,客户端SSH软件就会向SSH服务器发出请求,请求用联机的用户密钥进行安全验证。SSH服务器收到请求之后,会先在该SSH服务器上连接的用户的家目录下

        优缺点 相比于对称加密技术,非对称加密技术安全性更好,但性能更慢。

                登录

登录 方法一:
        ssh [远程主机用户名]@[远程服务器主机名或IP地址] -p port

        当在 Linux 主机上远程连接另一台 Linux 主机时,如当前所登录的用户是 root 的话,当连接另一台主机时也是用 root 用户登录时,可以直接使用 ssh   IP,端口默认即可,如果端口不是默认的情况下,需要使用-p 指定端口。

        

 不是默认端口

[root@localhost ~]#vim /etc/ssh/sshd_config 
[root@localhost ~]#
[root@localhost ~]#systemctl restart sshd

-p指定端口还是可以登录 

 

还可以用-l登录 

 ssh -l [远程主机用户名] [远程服务器主机名或IP 地址] -p port
-l :-l 选项,指定登录名称。
-p:-p 选项,指定登录端口(当服务端的端口非默认时,需要使用-p 指定端口进行登录)

要想知道连接的是不是想要连的服务器,最简单的方法就是,连自己嘛,和密钥比较一下。

服务端配置

        服务端常用配置
[root@localhost ~]#vim /etc/ssh/sshd_config 
#Port 22                       #端口号,建议修改

#LoginGraceTime 2m               超时时间2分钟
#PermitRootLogin yes               # 默认ubuntu不允许root远程ssh登录
#StrictModes yes                 #检查.ssh/文件的所有者,权限等
#MaxAuthTries 6                 
//最大认证个数,但需要和ssh -o NumberOfPasswordprompts=8(大于6数字)root@192.168.91.111(IP地址)需要配合这个选项一起使用
#MaxSessions 10      #同一个连接最大会话

#PubkeyAuthentication yes     #基于key验证
#PermitEmptyPasswords no     #空密码连接
PasswordAuthentication yes   #基于用户名和密码连接
#GatewayPorts no            在最后一行添加
ClientAliveInterval 10 #单位:秒
#ClientAliveCountMax 3 #默认3
UseDNS yes #提高速度可改为no
#GSSAPIAuthentication yes #提高速度可改为no
#MaxStartups 10:30:100    #未认证连接最大值,默认值10
Banner /path/file

#以下可以限制可登录用户的办法:白名单  黑名单
AllowUsers user1 user2 user3@ip(限制主机)
DenyUsers user1 user2 user3
AllowGroups g1 g2
DenyGroups g1 g2 

 

        使用密钥对其免交互验证登录

  1. 客户端发起ssh请求,服务器会把自己的公钥发送给用户

  2. 用户会根据服务器发来的公钥对密码进行加密

  3. 加密后的信息回传给服务器,服务器用自己的私钥解密,如果密码正确,则用户登录成功

            基于密钥的登录方式

  1. 首先在客户端生成一对密钥(ssh-keygen)

  2. 并将客户端的公钥ssh-copy-id 拷贝到服务端

  3. 当客户端再次发送一个连接请求,包括ip、用户名

  4. 服务端得到客户端的请求后,会到authorized_keys()中查找,如果有响应的IP和用户,就会随机生成一个字符串,例如:dxb

  5. 服务端将使用客户端拷贝过来的公钥进行加密,然后发送给客户端

  6. 得到服务端发来的消息后,客户端会使用私钥进行解密,然后将解密后的字符串发送给服务端

  7. 服务端接受到客户端发来的字符串后,跟之前的字符串进行对比,如果一致,就允许免密码登录

​
[root@localhost .ssh]#ssh-keygen --help

 

[root@localhost .ssh]#ssh-keygen -t ecdsa

此时就会有一种加密方式 

[root@localhost .ssh]#ls
id_ecdsa  id_ecdsa.pub  known_hosts

 如果不在ssh目录下,需要写绝对路径/root/.ssh/id_ecdsa/pub

ssh-copy-id -i id_ecdsa.pub root@192.168.91.111

 

 免密登录,就一路回车,不设置密码即可

使用密钥对其免交互验证登录

        与用户密码无关
        P地址无关
        只与密钥对有关

                        ssh客户端 

sftp命令 —— 安全FTP上下载

 TCP Wrappers

        在Linux系统中,许多网络服务针对客户机提供了某种访问控制机制, 如Samba、BIND、 HTTPD、OpenSSH 等。本节将介绍另一种防护机制——TCP Wrappers(TCP 封套),以作 为应用服务与网络之间的一道特殊防线,提供额外的安全保障。

        TCP Wrappers 将 TCP 服务程序“包裹”起来,代为监听 TCP 服务程序的端口,增加了

一个安全检测过程,外来的连接请求必须先通过这层安全检测,获得许可后才能访问真正的服务程序,TCP Wrappers 还可以记录所有企图访问被保护服务的行为,为管理员提供丰富的安全分析资料。

                                                            TCP Wrappers的工作原理

         相对于iptables防火墙访问控制规则,TCP Wrappers的配置更加简单。但是Tcp Wrappers也有两个缺点,第一,TCP Wrappers只能控制TCP协议的应用服务;第二,并不是所有基于TCP协议的应用服务都能接受TCP Wrappers的控制。对于大多数Linux发行版,TCP Wrappers是默认提供的功能。

        通常,链接库方式的应用要更加广泛也更有效率。例如vsftp、sshd及超级服务器xinetd等,都调用了libwrap共享库。

        使用ldd命令可以查看程序的共享库

[root@localhost ~]#ldd /usr/sbin/sshd |grep "libwrap"
	libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f84f2d25000)

        TCP Wrappers的访问策略

        TCP Wrappers机制的保护对象为各种网络服务程序,针对访问服务的客户机地址进行访问控制。对应的两个策略文件为/etc/hosts.allow和/etc/hosts.deny,分别用来设置允许和拒绝的策略。

                策略的配置方式

两个策略文件的作用相反,但配置记录的格式相同,如下所示。

服务程序列表:客户端地址列表

服务程序列表、客户端地址列表之间以冒号分隔,在每个列表内的多个项之间以逗号分隔

(1)服务程序列表

服务程序列表可分为以下几类。

ALL:代表所有的服务

单个服务程序:如“vsftpd“

多个服务程序组成的列表:如“vsftpd,sshd”

2)客户端地址列表

客户端地址列表可分为以下几类。

       ● ALL:代表任何客户端地址。

       ●  LOCAL:代表本机地址。

       ●  单个 IP 地址:如“192.168.4.4”

       ● 网络段地址:如“192.168.4.0/255.255.255.0”

       ●  以“.”开始的域名:如“.bdqn.com”匹配 bdqn.com 域中的所有主机。

       ●   以“.”结束的网络地址:如“192.168.4.”匹配整个 192.168.4.0/24 网段

       ●    嵌入通配符“”“?”:前者代表任意长度字符,后者仅代表一个字符,如“10.0.8.2

       ●  匹配以 10.0.8.2 开头的所有 IP 地址。不可与以“.”开始或结束的模式混用

       ●  多个客户端地址组成的列表:如“192.168.1.,172.16.16.,.bdqn.com”

        访问控制的基本原则

        关于TCP Wrappers机制的访问策略,应用时遵循的顺序和原则,首先检查/etc/hosts.allow文件,如果找到相匹配的策略,则允许访问,否则继续检查/etc/hosts.deny文件,如果找到相匹配的策略,则拒绝访问;如果两个文件都找不到相匹配的策略,则允许访问。

[root@localhost ~]#vim /etc/hosts.deny 

此时是不能登录的 

 

 假如,在hosts.allow设置让91.100登录,同时也在hosts.deny设置不让91.100登录,结果会怎样

结果是可以登的 

轻量级自动化运维工具pssh

        pssh:基于python编写,可在多台服务器上执行命令的工具,也可实现文件复制,提供了基于ssh

pssh命令选项

-H主机字符串,内容格式”[user@]host[:port]” 
-h file主机列表文件,内容格式”[user@]host[:port]” 
-A手动输入密码模式
-i每个服务器内部处理信息输出
-l登录使用的用户名
-p并发的线程数【可选】
-o输出的文件目录【可选】
-e错误输出文件【可选】
-tTIMEOUT 超时时间设置,0无限制【可选】
-OSSH的选项
-P打印出服务器返回信息
-v详细模式
--version查看版本

安装需要配置开发源

[root@localhost ~]#cd /etc/yum.repos.d/
[root@localhost yum.repos.d]#vim CentOS-base.repo 

在最后一行添加国内源

[epel]
name=epel
baseurl=https://mirrors.aliyun.com/epel/$releasever/x86_64
        https://mirrors.cloud.tencent.com/epel/$releasever/x86_64
        https://mirrors.huaweicloud.com/epel/$releasever/x86_64
        https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/x86_64
gpgcheck=0

[root@localhost yum.repos.d]#yum clean all

安装pssh

[root@localhost yum.repos.d]#yum install pssh -y

生成免密登录的密钥

[root@localhost yum.repos.d]#ssh-keygen 

 上传密钥对

[root@localhost .ssh]#ssh-copy-id 192.168.91.100
[root@localhost .ssh]#ssh-copy-id 192.168.91.102

执行一条命令多台客户机都被执行,比如,查看两台客户机的passwd文件,加-i是打印出来信息

[root@localhost .ssh]#pssh -H "192.168.91.100 192.168.91.102" -i cat /etc/passwd

 

 当然也就创建文件,同时操作多台客户机,适用于二三十台机器的服务。挺好用的!!!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/291381.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号