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

Linux网络——远程访问控制(SSH服务)

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

Linux网络——远程访问控制(SSH服务)

SSH服务
  • 一、SSH远程管理
    • 1.1 SSH定义
    • 1.2 SSH优点
    • 1.3 SSH开启、端口号、配置文件
  • 二、配置OpenSSH服务端
    • 2.1 公钥传输原理
    • 2.2 配置文件中的参数
    • 2.3 登录
    • 2.4 sshd服务支持登录验证方式
    • 2.4 密钥的配置
  • 三、 使用SSH客户端程序
    • 3.1 命令程序ssh、scp、sftp
  • 四、TCP Wrappers 访问控制
    • 4.1 策略配置格式
    • 4.2 配置实例

一、SSH远程管理 1.1 SSH定义
  • SSH(Secure Shell) 是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能;
  • SSH 协议 对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令;
  • SSH 为建立在应用层和传输层基础上的安全协议。对数据进行压缩,加快传输速度。
1.2 SSH优点

加密: 可以防止信息泄漏

压缩: 可以提高传输速度

1.3 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 启动服务)

SSH服务的开启:
systemctl start sshd 启动服务

SSH服务的端口号:
sshd服务使用的端口默认号为22
1023以上就是高位端口

SSH服务的配置文件
sshd服务的默认配置文件是/etc/ssh/sshd_config
ssh_config(客户端) 和sshd_config (服务端)都是ssh服务器的配置文件。

服务名称:sshd
服务端主程序:/usr/sbin/sshd  
服务端配置文件:/etc/ssh/sshd_config 
客户端配置文件:/etc/ssh/ssh_config
二、配置OpenSSH服务端 2.1 公钥传输原理
  1. 客户端发起链接请求
  2. 服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)
  3. 客户端生成密钥对
  4. 客户端用自己的公钥异或会话ID,计算出一个值Res,并用服务端的公钥加密
  5. 客户端发送加密后的值到服务端,服务端用私钥解密,得到Res
  6. 服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥)
  7. 最终:双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都会被加密
2.2 配置文件中的参数
[root@Kiro .ssh]# vim /etc/ssh/sshd_config   ##进入服务端配置文件
MaxAuthTries 6     ##输入密码次数限制 6代表输错六次就退出
PasswordAuthentication yes    ##打开密钥
PubkeyAuthentication yes      ##开启密码认证




2.3 登录
------方法一-------
ssh [远程主机用户名]@[远程服务器主机名或IP地址] -p port
 
当在 Linux 主机上远程连接另一台 Linux 主机时,如当前所登录的用户是 root 的话,当连接
另一台主机时也是用 root 用户登录时,可以直接使用 ssh   IP,端口默认即可,如果端口
不是默认的情况下,需要使用-p 指定端口

------方法二------
ssh -l [远程主机用户名] [远程服务器主机名或IP 地址] -p port
-l : 指定登录名称。
-p:指定登录端口(当服务端的端口非默认时,需要使用-p 指定端口进行登录)
  • 方法一:[root@Kiro ~]# ssh root@192.168.61.110

  • 方法二:[root@pxw /]# ssh -l root 192.168.61.100

2.4 sshd服务支持登录验证方式

密码验证:
以服务器中本地系统用户的登录名称、密码进行验证。这种方式使用最为简便,但从客户机角度来看,正在连接的服务器有可能被假冒,从服务器角度来看,当遭遇密码暴力破解攻击时防御能力比较弱。

密钥对验证:
要求提供相匹配的密钥信息才能通过验证,通常先在客户机中创建一对密钥文件(公钥和私钥),然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关联验证,增强了远程管理的安全性。

  • 公钥和私钥是成对生成的,这两个密钥互不相同,可以互相加密和解密;
  • 不能根据一个密码来推算出另一个密钥;
  • 公钥对外公开,私钥只有私钥的持有人才知道。
2.4 密钥的配置

做了密钥设置之后,服务端远程控制客户端就需要密钥了:

------1.生成密钥文件------
[root@Kiro ~]# ssh-keygen -t ecdsa
##需要自定义设置密码,如果不想设置密码就一直回车

-----2.将公钥文件导入对方的用户-----
[root@Kiro ~]# cd /root/.ssh
[root@Kiro .ssh]# ls
id_ecdsa  id_ecdsa.pub  known_hosts
:
[root@Kiro .ssh]# ssh-copy-id -i /root/.ssh/id_ecdsa.pub root@192.168.61.110
## 这一步需要输入对方的密码

------3.再次远程登录客户机------
[root@Kiro .ssh]# ssh root@192.168.61.110
Enter passphrase for key '/root/.ssh/id_ecdsa':     ##这个时候就需要输入密钥而不是密码了
  • 1.生成密钥文件
  • 2.将公钥文件导入对方用户
  • 3.登录客户机
三、 使用SSH客户端程序 3.1 命令程序ssh、scp、sftp

ssh远程登录

[root@pxw /]# ssh kiro@192.168.61.100
kiro@192.168.61.100's password: 
Last login: Fri Apr 15 16:43:30 2022 from 192.168.61.110
##第一次登陆时需要接收来自服务端的密钥 博主的客户端不是第一次登陆了所以不需要


scp远程复制
通过scp命令可以利用SSH安全连接与远程主机相互复制文件;接下来我为大家做两个演示,分别是把远程主机的文件复制给本机,还有把本机的文件复制给远程主机:

--------远程主机 >>> 本机-------
[root@Kiro /]# scp root@192.168.61.110:/etc/passwd /opt/kiro  
##将远程主机/etc/passwd 下的文件内容复制到本机/opt/kiro 文件下
Enter passphrase for key '/root/.ssh/id_ecdsa':   ##需要输入密钥 
passwd                                   100% 2349     1.0MB/s   00:00    
##复制的文件名以及进度条 

---------本机 >>> 远程主机-------
[root@Kiro /]# scp /etc/passwd root@192.168.61.110:/opt/pxw
##将本机的/etc/passwd 文件内容复制到远程主机/ opt/pxw文件之下
Enter passphrase for key '/root/.ssh/id_ecdsa':   ##需要输入密钥
passwd                  	            100% 2399   614.2KB/s   00:00       
## 复制文件名 和进度条 

---------复制目录:scp -r---------

  1. 远程主机 >> 本机:

  1. 本机 >> 远程主机

sftp 安全 FTP
通过sftp命令可以利用 SSH安全连接与远程主机上传、下载文件,采用了与FTP类似的登陆过程和交互式环境,便于目录资源管理接下来博主为大家演示一下登录、浏览、上传文件等过程:

[root@Kiro /]# sftp root@192.168.61.110  ##登录
Enter passphrase for key '/root/.ssh/id_ecdsa':   
 ##因为设置了密钥 ,这里输入密码而不是密钥
Connected to 192.168.61.110.

sftp> ls    ##查看一下当前目录下有什么
anaconda-ks.cfg              initial-setup-ks.cfg     
    
sftp> put /boot/config-3.10.0-957.el7.x86_64   ##上传config安装包
Uploading /boot/config-3.10.0-957.el7.x86_64 to /root/config-3.10.0-957.el7.x86_64
/boot/config-3.10.0-957.el7.x86_64                   100%  148KB   1.5MB/s   00:00    

sftp> ls   ##再次查看 config安装包上传成功
anaconda-ks.cfg                            config-3.10.0-957.el7.x86_64               
initial-setup-ks.cfg    
                   
sftp> bye   ##退出登录
[root@Kiro /]#

四、TCP Wrappers 访问控制

4.1 策略配置格式
策略的配置格式:
 <服务程序列表>:<客户机地址列表>

服务程序列表:

  • ALL: 代表所有服务
  • 单个服务程序: 如:vsftpd
  • 多个服务程序组成的列表: vsftpd , sshd

客户机地址列表:

  • ALL: 代表所有客户机
  • LOCAL: 代表本机地址
  • 单个IP地址: 如:192.168.61.100
  • 网络段地址: 如: 195.168.61.0/24
  • 以 “.” 开始的域名: 如: .kiro.cn 匹配 kiro.cn 域中的所有主机
  • 以 “,” 结束的网络地址: 如: 192.168.61. 匹配 整个 192.168.61.0/24网段
  • 嵌入通配符 “ * ” , “?”: 前者代表任意长度字符,后者仅代表一个字符;不可以与 “.” 开头或者结束的模式混用
  • 多个客户机地址组成的列表: 如: 192.168.61., 92.168.100., .kiro.cn
4.2 配置实例
[root@Kiro ]# vim /etc/hosts.allow   ##允许访问的列表
[root@Kiro ]# vim /etc/hosts.deny     ##禁止访问的列表


测试结果:
IP地址为:192.168.61.110的主机访问192.168.61.100 失败

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

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

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