十章———远程访问及控制(应用——linux高级管理)

目录

三期总目录链接

目录

一、SSH远程管理

(一)、OpenSSH 服务端相关配置

1、相关服务监听选项:

2、相关的用户登录控制选项

3、登录验证方式

(二)、SSH客户端程序的使用

1、ssh 远程登录

2、scp 远程复制

3、sftp (安全的ftp)

(三)、构建密钥对验证的SSH体系

实现步骤:

三、TCP Wrappers 访问控制


一、SSH远程管理


SSH 协议:一种安全通道协议,主要是用来实现字符界面的远程登录、远程复制等功能 (相对于Telnet、RSH、RCP等安全性更高)
OpenSSH 服务端: 由openssh 和openssh-server 等软件包提供;默认已将sshd添加为标准的系统服务
默认监听端口: TCP 22 号端口
主配置文件: /etc/ssh/sshd_config 

(一)、OpenSSH 服务端相关配置

1、相关服务监听选项:

Port监听端口 (默认22)
ListenAddress监听地址
Protocol ssh协议版本  
USEDNS  no(禁用DNS反向解析)

2、相关的用户登录控制选项

LoginGraceTime 2m登录验证时间: 默认2 分钟
PermitRootLogin yes默认是“yes”,表示允许root 用户登录
PermitEmptyPasswords no默认禁止空密码账户登录
MaxAuthTries 6最大的重试次数
DenyUsers   用户拒绝这个用户在任何机器上使用ssh 远程登录;如果拒绝多个用户中间用空格隔开
DenyUsers   用户@IP地址拒绝这个用户在对应的IP地址的机器上进行远程ssh 登录
AllowUsers   用户名  仅允许某个用户通过ssh 远程登录
AllowUsers  用户名@IP地址仅允许某个用户通过对应地址的主机进行SSH远程登录

注意: DenyUsers 选项和AllowUsers 选项不要同时使用在其他的Linux 主机上登录Linux 服务器的方法:   ssh    用户名@需要登录的地址   -p   端口号

3、登录验证方式

两种:
密码验证    :服务器对本地系统用户进行用户名和密码验证 (容易受到暴力破解)
密钥对验证:在客户端上创建密钥文件(公钥和私钥);公钥上传到服务器指定位置;私钥  自己保留;远程登录时进行加密、解密关联认证,增强远程管理安全性
注意: 两种验证方式都启用时,服务器优先使用密钥对验证;对于安全性较高的服务器,建议关闭密码验证

PasswordAuthentication yes  (密码验证方式开启)
PubkeyAuthentication yes     (密钥对验证开启)
AuthorizedKeysFile      .ssh/authorized_keys  (指定公钥库位置)

(二)、SSH客户端程序的使用

OpenSSH客户端: 由openssh-clients软件包提供 (默认已将安装);包括ssh远程登录命令;以及scp远程复制和sftp文件传输命令

1、ssh 远程登录

1)、通过第三方工具使用ssh 进行远程登录 (Xshell;CRT、Putty )等图形化工具
2)、命令登录:   ssh  用户名@主机地址  -p  端口号  (端口号默认是22 ,可以不跟-p 选项;如果修改了服务器的ssh 端口,必须要指定ssh 的端口号)

2、scp 远程复制

 语法结构: scp   root@对方的地址:对方文件位置  本地位置 (回车后,按提示输入对方root 账户的密码)

[root@C7--05 .ssh]# scp root@192.168.1.2:/root/aaa /root/              #(将192.168.1.2 上的aaa 这个文件复制到本机的/root下)
The authenticity of host '192.168.1.2 (192.168.1.2)' can't be established.
ECDSA key fingerprint is SHA256:Zps5AsjlPL9jiHXgcqYcc0tbLnDW4Q0VCB4TQJcGrzc.
ECDSA key fingerprint is MD5:8f:23:08:60:6b:a9:15:ea:3b:41:f3:19:b6:de:60:e5.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.2' (ECDSA) to the list of known hosts.
root@192.168.1.2's password: 
aaa 

[root@C7--05 ~]# ls
aaa  anaconda-ks.cfg  安装包

[root@C7--05 ~]# scp -r /root/bbb root@192.168.1.2:/root/              # (将本地的/root/boss 目录复制给远程主机192.168.1.5 的/opt 下)
root@192.168.1.2's password: 

[root@C7--02 ~]# ls
aaa  anaconda-ks.cfg  bbb

3、sftp (安全的ftp)

登录sftp  用户名@对方地址 (按回车输入密码)
下载get   文件名
上传put   文件名
退出登录bye 或 exit

(三)、构建密钥对验证的SSH体系

两台Linux主机:
CentOS-02:192.168.1.2
CentOS-05:192.168.1.5
要求是: CentOS-02 这个机器中的boss 账户可以通过密钥对验证体系登录CentOS-05

实现步骤:

1)、在CentOS-05 机器上创建boss 账户,并创建密钥对

[root@C7--05 ~]# useradd boss                #创建用户
[root@C7--05 ~]# passwd boss                 #设置密码
更改用户 boss 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@C7--05 ~]# su boss                     #切换成boss 登录
[boss@C7--05 root]$ ssh-keygen -t ecdsa              #(用ecdsa 的加密方式创建密钥对文件) (连续敲3次Enter 键生成密钥对文件)
Generating public/private ecdsa key pair.
Enter file in which to save the key (/home/boss/.ssh/id_ecdsa): 
Created directory '/home/boss/.ssh'.                  #密钥对文件的默认位置: /home/boss/.ssh/ 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/boss/.ssh/id_ecdsa.
Your public key has been saved in /home/boss/.ssh/id_ecdsa.pub.
The key fingerprint is:
SHA256:46JKFcDpdiMPRMim6cjOCruy/tTcmT/o4F2DgwDHsno boss@C7--05
The key's randomart image is:
+---[ECDSA 256]---+
|.+o.             |
|.o=.             |
|o* o.            |
|o X o.           |
|+o *..  S        |
|oo .= o.+.       |
|= E. =.*oo       |
|o*. ..oo+..      |
|O+oo...o ..      |
+----[SHA256]-----+
[boss@C7--05 root]$ cd /home/boss/.ssh
[boss@C7--05 .ssh]$ ls
id_ecdsa  id_ecdsa.pub               #id_ecdsa(私钥文件)  id_ecdsa.pub (公钥文件)

2)、把公钥文件上传给192.168.1.2 ,并验证

[boss@C7--05 .ssh]$ scp /home/boss/.ssh/id_ecdsa.pub root@192.168.1.2:/tmp/     #(把公钥文件传给192.168.1.2 的/tmp 目录中)
The authenticity of host '192.168.1.2 (192.168.1.2)' can't be established.
ECDSA key fingerprint is SHA256:Zps5AsjlPL9jiHXgcqYcc0tbLnDW4Q0VCB4TQJcGrzc.
ECDSA key fingerprint is MD5:8f:23:08:60:6b:a9:15:ea:3b:41:f3:19:b6:de:60:e5.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.2' (ECDSA) to the list of known hosts.
root@192.168.1.2's password:                                         #输入02机器的root密码
id_ecdsa.pub                                                 100%  173    97.6KB/s   00:00   
[root@C7--02 ~]# ls /tmp                                       #查看确认
id_ecdsa.pub

[root@C7--02 ~]# useradd boss                              #在机器02上创建用户
[root@C7--02 ~]# passwd boss                               #设置密码
更改用户 boss 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@C7--02 ~]# mkdir -p /home/boss/.ssh                  #在02 上创建一个公钥数据库的存放目录
[root@C7--02 ~]# cat /tmp/id_ecdsa.pub >> /home/boss/.ssh/authorized_keys         #把发送过来的公钥文件的内容追加到目标用户的公钥数据库中
[boss@C7--05 .ssh]$ ssh 192.168.1.2                       #在客户端上使用密钥对验证
[boss@C7--02 ~]$ 

三、TCP Wrappers 访问控制


定义: 一种防护机制,作为应用服务与网络之间的一道特殊防线,提供额外的安全保障
工作原理: 将TCP服务程序“包裹”起来,监听TCP服务程序端口,增加一个安全监测过程,外来的链接请求必须通过这层安全检测,获得许可后,才可以真正访问服务程序 CentOS7.3 上默认的软件包: tcp_wrappers-7.6-77.el7.x86_64 

提供:执行程序tcpd 和共享链接库文件libwrap.so.*

保护机制的两种实现方式:
(一)、直接使用tcpd程序对其他服务程序进行保护,需要运行tcpd
(二)、其他的服务程序调用libwrap.so.*链接库,不需要运行tcpd  (应用更广泛,更有效率)
查看程序的共享库: ldd /usr/sbin/sshd | grep "libwrap" 

TCP Wrappers 对应的两个策略文件:
/etc/hosts.allow  :  用来设置允许策略
/etc/hosts.deny   :  用来设置拒绝策略

策略的配置格式:  服务程序列表:客户端地址列表
访问控制的基本原则:先检查/etc/hosts.allow 文件,找到相匹配的策略,就允许访问;然后继续检查/etc/hosts.deny ,如果找到相匹配的策略,则拒绝;如果检查两个文件都没有匹配的策略,则允许访问
1)、·

服务程序列表
ALL表示所有服务
单个服务直接写服务名
多个服务程序服务名中间以"," 隔开


2)、

客户端地址列表
ALL任何客户端
LOCAL本机地址
单个IP直接写一个IP
网段地址例: 192.168.100.0/255.255.255.0 (表示192.168.100.0 这个网段)
以"."开始的域名所有的以同一个域名后缀结尾的主机
以"." 结束的网络地址 表示一个网段
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘浪初心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值