SSH(带实验)+DNS(带实验)

SSH远程连接管理

ssh是Linux自带的,默认端口号为22,主要有两个功能:远程登录和远程复制

在命令远程连接:ssh -P 10086 root@192.168.188.11

  • ssh:建立远程连接的固定开头
  • root:表示用root账户登录,所以需要输入目标主机root账户的密码
  • 192.....11:目标主机的IP地址
  • -P 10086 指定端口号为10086,不加-p 10086就默认使用22端口

服务端和客户端

  • 服务端:ssh服务器,默认提供22端口监听(listen,等待连接)
    • 主要由OPENSSH提供远程连接
    • 系统中的应用名称:sshd
    • 配置文件在/etc/ssh/目录下
      • ssh_config:客户端配置文件,当本机作为客户端时需要配置这个文件
      • sshd_config:服务端配置文件
  • 客户端:默认访问22端口,和服务端建立连接
    • 主要的工具有:putty,Moba,XShell,CRT
  • 服务端与客户端之间的数据传输是加密的,防止信息泄露
  • 数据传输也是压缩的,提高传输速度

远程复制(⭐):scp,把远程主机上的文件复制到本机,这是B经过A的允许后从A那直接拿的,而不是A主动给B的

  • scp -P10086 root@192.168.188.11:/opt/ky01.txt /opt/ 
    • -P是指定端口,可以不写-P,不加默认22
    • 以root用户登录192.....11,并将它的/opt/ky01.txt文件复制到我的/opt/目录下
    • scp -r 可以复制目录
SFTP:加密的FTP

因为加密,所以传输速率比普通ftp要慢,但是安全性更高。语法上没有区别

sftp -P 10022 root@192.168.188.11:/opt/

ssh服务验证的方式
  • 密码验证:上面列出的几种都是密码验证,用john类似的工具可以破解弱口令,导致不安全
  • 密钥对验证:双方提供相匹配的密钥信息才能通过验证
    • 先在客户端中创建一对密钥文件,然后把密钥文件发送到服务器的指定位置
      ssh-keygen -t ecdsa
      • ssh-keygen 创建密钥对的命令

      • -t 指定加密的算法

        • 加密算法的类型:rsa、ecdsa、dsa

    • 选择密钥的保存位置,默认保存在/root/.ssh/id_ecdsa

    • 选择需要加密的密码

    • 最后生成两个文件:id_ecdsa(私钥),id_ecdsa.pub(公钥)

    • ssh-copy-id -i id_ecdsa.pub root@192.168.188.11

      • 将公钥传给服务器

      • 这一步需要输入服务器的root密码

    • ssh-agent bash(刷新环境)

    • ssh-add(把免密登录的验证密码加入到用户环境中去)

      • 密码是刚刚新输入的密码

    • 此后ssh时不再需要输密码

  • 下面进行具体演示

实验一:发送公钥实现登录
  1. 现在客户端生成密钥对
  2. 将公钥发给服务端
  3. 刷新并把免密登录的验证密码加入到用户环境中去
  4. 测试,ssh不需要密码,完成
dns:地址解析服务

网络中的通信实际上都是IP地址之间的通信,dns的作用就是把域名解析成对应的IP地址

一个完整的域名地址:www.baidu.com.cn.  要从右往左看

  • 右边第一个" . ",根域,全球只有13台,10台在美国,剩下三台在英国,瑞典,日本
  • .cn,顶级域,一般表示的是组织机构或者国家地区
  • .com,二级域
    • .com:商业机构
    • .edu.cn:教育机构
    • .org:非盈利组织
    • .net.cn:运营商
  • .baidu,三级域(子域),可以自定义,需要花钱买
  • www,主机名,表示一台具体的计算机
dns查询域名,解析的过程
  • 先到本地 hosts 文件查找
  • 再到运行商提供的DNS域名服务器查找
  • 最后到根域服务器(.)查找
    • 根域服务器能够找到目标,但是它会让你去对应的顶级域接着找
    • 顶级域也能找到目标,但是它会提示你去对应的二级域接着找
    • 二级域会将最终的结果(IP地址)返回给用户:返回时,当数据到达运营商时,运营商会有记录,进行缓存,到本机时也会自动保存
  • 整个过程有两个重要概念:
    • 迭代:根域→顶级域→二级域 的查询过程,每次都会获得更多一点的信息,也就是说A向B查询信息时,B不会直接告诉A答案,而是让A自己去指定的地方继续查询。
    • 递归:运营商→用户,A向B查询信息时,不管B是怎么获得的这个信息,他都会直接将A需要的内容发给A
实验二:DNS正向解析(从域名到IP地址)
  1. 先检查有没有安装 bind 

    有三个相关文件:
            /etc/named.conf 主配置文件
            /etc/named.rfc1912.zones 区域配置文件,用于做映射
            /var/named/named.localhost 区域数据配置文件,用于做解析
  2. 先对 /etc/named.conf 进行修改
  3. 修改 /etc/named.rfc1912.zones
  4. 进入/var/named,将named.localhost文件复制为 ky01.com.zone,这个名字是上一步文件中file "ky01.com.zone"的名字

    先看下上半部分的解释,看完记得把 @ 改成域名

    下半部分解释顺便整体看一下,后两条类似于自定义,你可以自己加比如 ftp 等各种服务
  5. 网络配置一下,这里需要说明的是,如果在ens33的配置中修改,修改完毕后需要重启一下网络,而如果在/etc/resolv.conf中修改是不需要重启的。
  6. 启动一下,顺便关一下防火墙
  7. 测试一下,客户端网络配置一下

    nslookup 得到的都是正确的IP
实验三:DNS反向解析
  1. /ec/named.conf配置不变
  2. 和正向差不多,file名只要不重复就行
  3. 复制数据配置文件
  4. 编辑反向解析
  5. 网络的配置跟之前一样,重启服务,关防火墙
  6. 最后测试一下
实验四:DNS主从服务器
  1. 假设loz是主服务器,先检查bind是否安装

    /etc/named.conf配置与之前一样
  2. 对/etc/named.rfc1912.zones文件内正反解析的配置

    正反解析的区域数据配置文件与之前一样,不需要改变

  3. 添加一下DNS备服务器的地址,可以在网络配置中添加,也可以直接在resolv.conf中添加,如果ens33中配置的DNS地址与resolv.conf中配置的不一样,重启网络后resolv.conf中的dns会被ens33中的dns地址覆盖。所以这里最好不要重启网络。

    重启服务,关闭防火墙
  4. 现在对备服务器配置,假设sp是备服务器,先检查是否安装了bind

    主配置文件可以和主服务器的主配置文件一样,如果想要指定监听地址,就要写本机地址
  5. 对正反解析文件的配置如下

    区域数据文件不需要创建,备服务器会直接接收主服务器传送的区域数据,同样添加一下DNS服务器的地址

    重启服务,关闭防火墙
  6. 检查一下/var/named/目录下是否有slaves目录

    再检查一下slaves目录下有没有两个区域数据文件
  7. 最后进行测试:我新建了一个客户机,先配置DNS服务器地址

    先测试一下正常情况下能否使用,测试结果正常

    此时我们关掉主服务器的bind服务

    再进行查询时,依然可以查到正确的内容,但是服务地址变成了备服务器的地址,说明主从服务器切换成功
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值