• Linux常用工具及服务(ssh,rsync)


    目录

    一、SSH服务远程终端连接工具

    1、SSH的登录原理

     2、SSH基本用法

    2.1 基本语法:

    3、ssh服务认证类型

    3.1 基于口令认证

    3.2 基于密钥认证

    4、ssh服务常见配置

    4.1 常见配置

     5、ssh客户端附带的远程拷贝scp命令

    5.1 基本语法

    二、Rsync远程同步及备份工具

    2.1 rsync 安装

    2.2 rsync-daemon 认证

    2.3 ssh认证

    2.4 Rsync命令参数

    2.5 Rsync基于SSH认证的使用

    2.5.1 rsync==cp

    2.5.2 rsync == scp

    2.5.3 rsync== rm

    2.5.4 rsync == ls -l

    2.6 Rsync基于rsync-daemon认证的使用

    2.6.1 配置rsync服务端

    2.6.2 配置rsync客户端(其他服务器为客户端)

    三、NTP时间同步服务

    3.1 ntp服务的安装

    3.2 ntp时间同步的基本操作语法

    四、NFS网络文件共享存储服务

    4.1 NFS介绍

    4.1.1 为什么要使用共享存储

    4.2 NFS工作原理

     4.3 NFS实例搭建

    4.3.1 NFS服务器配置

    4.3.2  NFS客户端配置


    一、SSH服务远程终端连接工具

    1、SSH的登录原理

     2、SSH基本用法

    2.1 基本语法:

    ssh -p 22 user@host

    参数:

    -p : 指定端口号

    user : 登录的用户名

    host : 登录的主机

    默认的端口号为22,当端口号为22的时候,可以省略,直接使用。

    3、ssh服务认证类型

    3.1 基于口令认证

    基于口令的安全验证的方式就是大家现在一直在用的,只要知道服务器的SSH连接帐 号和口令(当然也要知道对应服务器的 IP及开放的 SSH端口,默认为22 ),就可以通过 ssh客户端登录到这台远程主机。此时,联机过程中所有传输的数据都是加密的。

    ssh + ip

    3.2 基于密钥认证

    首先在客户端生成一对密钥

     ssh-keygen -t dsa

     将客户端的公钥传到服务器端

     测试:

    4、ssh服务常见配置

    SSH服务的配置文件为/etc/ssh/sshd_config

    4.1 常见配置

    常见的SSH服务器监听的选项如下:

    1. Port 22         //监听的端口号为22

    2. Protocol 2         //使用SSH V2协议

    3.  ListenAdderss 0.0.0.0            //监听的地址为所有的地址

    4.  UserDNS no       //禁止DNS反向解析 建议用no,不需要对DNS进行反向解 析,可以加快ssh连接速度。

    常见用户登录控制选项如下:

    PermitRootLogin no         // 禁止root用户登录

    PermitEmptyPasswords no         // 禁止空密码用户登录

    LoginGraceTime 2m         // 登录验证时间为2分钟

    MaxAuthTries 6         // 最大重试次数6次

    AllowUsers steven         // 只允许steven用户登录

    DenyUsers steven         // 不允许登录用户 steven

    常见登录验证方式如下:

    PasswordAuthentication yes         //启用密码验证

    PubkeyAuthentication yes         //启用密匙验证

    AuthorsizedKeysFile .ssh/authorized_keys         //指定公钥数据库文件

     5、ssh客户端附带的远程拷贝scp命令

    5.1 基本语法

    scp -secure copy

    每次都是全量拷贝,增量拷贝用rsync

    #推:PUSH

    scp -P22 -r -p /tmp/chensiqi root@172.16.1.41:/tmp

    #拉:PULL

    scp -P22 -rp root@172.16.1.41:/tmp/chensiqi /opt/

    -P(大写):接端口,默认22

    -r:递归,表示拷贝目录

    -p:表示在拷贝前后保持文件或目录属性

    -l limit:限制速度

    二、Rsync远程同步及备份工具

    2.1 rsync 安装

    yum -y install rsync

    2.2 rsync-daemon 认证

    rsync在rsync-daemon认证方式下,默认监听TCP的873端口。

    rsync-daemon认证方式是rsync的主要认证方式,这个也是我们经常使用的认证方式。 并且也只有在此种模式下,rsync才可以把密码写入到一个文件中。

    注意:

    rsync-daemon认证方式,需要服务器和客户端都安装rsync服务并且只需要rsync服务器端启动rsync,同时配置rsync配置文件。客户端启动不启动rsync服务,都不影响同步的正常进行

    2.3 ssh认证

    rsync在ssh认证方式下,可通过系统用户进行认证,即在rsync上通过ssh隧道进行传 输,类似于scp工具。

    注意:

    ssh认证方式,不需要服务器和客户端配置rsync配置文件只需要双方都安装rsync服务,并且也不需要双方启动rsync。

    两种认证方式的本质区别:

    ssh 协议认证连接的两端是通过管道完成通信和数据传输的,当连接到远程主机时,将在远程主机 fork 出 rsync 进程使其成为 rsync server;而 rsync 协议认证是 事先在远程主机上运行 rsync 守护进程,监听套接字等待客户端的连接,建立连接后 所有通信方式都是通过套接字完成的。

    2.4 Rsync命令参数

    rsync 命令的基本格式有多种,分别是:

    rsync [OPTION] SRC DEST        #用于仅在本地备份数据;

    rsync [OPTION] SRC [USER@]HOST:DEST        #用于将本地数据备份到远程机器上;

    rsync [OPTION] [USER@]HOST:SRC DEST   #用于将远程机器上的数据备份到本地机上

    rsync [OPTION] [USER@]HOST::SRC DEST   #和第三种是相对的

    rsync [OPTION] SRC [USER@]HOST::DEST         #和第二种是相对的,它们各自之间的区别 在于登陆认证时使用的验证方式不同。

    使用 rsync 在远程传输数据(备份数据)前,是需要进行登陆认证的,这个 过程需要借助 ssh 协议或者 rsync 协议才能完成。在 rsync 命令中,如果使用单个 冒号(:),则默认使用 ssh 协议;反之,如果使用两个冒号(::),则使用 rsync协议。

    • SRC:用来表示要备份的目标数据所在的位置(路径);
    • DEST:用于表示将数据备份到什么位置;
    • USER@:当做远程同步操作时,需指明系统登录的用户名,如果不显示指定, 默认为以 root 身份登录系统并完成同步操作。

    2.5 Rsync基于SSH认证的使用

    rsync 默认使用 ssh 协议进行远程登录和数据传输。远程主机需要开启 sshd 服务, rsync 在传输数据之前会先与远程主机进行一次 ssh 登录认证,然后通过 ssh 隧道进 行数据传输。只需数据同步双方安装 rsyncm,但不必启动 rsyncd 服务。

    可用 -e 选项指定协议:

    rsync -r -e ssh 目录  username@1.1.1.1:目标目录

    也可省略 -e;使用 ssh 认证与传输的缺点是不安全

    rsync 命令属于1 v 4 的命令

    • 类似于 cp 命令 -- 实现本地备份传输数据
    • 类似于scp 命令 -- 远程备份传输数据
    • 类似于 rm 命令 -- 实现无差异同步备份
    • 类似于 ls 命令 -- 本地文件信息查看

    2.5.1 rsync==cp

    rsync /etc/hosts /tmp/

    2.5.2 rsync == scp

    pull 拉

    rsync 1.1.1.1:/tmp/1.txt  /opt

    push 推(推整个目录下的文件(不包括目录本身))

    rsync -r /tmp 1.1.1.1:/tmp/

    /tmp --表示将tmp目录本身及目录下的内容进行传输

    /tmp/ --表示只传输tmp目录下面的内容信息

    2.5.3 rsync== rm

    rsync -a --delete /null/ /znix/

    创建一个空目录,使用空目录进行无差异同步,将/null的所有文件同步到/znix内,并 删除/znix内多余的文件:

    2.5.4 rsync == ls -l

    rsync install.log

    2.6 Rsync基于rsync-daemon认证的使用

    与 ssh 认证不同,rsync 协议认证不需要依赖远程主机的 sshd 服务,但需要远程主机开启 rsyncd 服务,本地 rsyncd 服务可不必开启。另外,rsync 协议认证不是直接使用远程主机的真实系统账号,而是虚拟账号和虚拟密码,且可实现无需手动输入 密码,同时 rsync 协议认证需要配置模块对远程同步的目录进行限制。对比 ssh 认 证,rsync 协议认证安全性更高。

    2.6.1 配置rsync服务端

    1. vim /etc/rsyncd.conf

     2. 创建rsync用户

    useradd -s /sbin/nologin -M rsync

    3. 创建数据备份储存目录,目录修改属主

    mkdir /slave/

    chown -R rsync:rsync /slave/

    4. 创建认证用户密码文件

    echo "rsync_slave:nebula123" >>/etc/rsync.passwo rd

    chmod 600 /etc/rsync.password

    5. 启动rsync

    rsync --daemon

    2.6.2 配置rsync客户端(其他服务器为客户端)

    1. 创建认证文件

    客户端的认证文件只需要有密码即可

    echo "nebula123" >>/etc/rsync.password

    chmod 600 /etc/rsync.password

    2. 实现数据传输

    三、NTP时间同步服务

    3.1 ntp服务的安装

    yum install ntp -y

    3.2 ntp时间同步的基本操作语法

    systemctl start ntpd

    ntpdate cn.pool.ntp.org

    四、NFS网络文件共享存储服务

    4.1 NFS介绍

    NFS是Network File System的缩写,中文意思是网络文件系统。它的主要功能是通 过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录。

    4.1.1 为什么要使用共享存储

    • 实现多台服务器之间数据共享
    • 实现多台服务器之间数据一致

    4.2 NFS工作原理

     4.3 NFS实例搭建

    我们需要两台CentOS7机器,我们用虚拟机做测试,分别做NFS服务器和客户端,配置如下:

    NFS-Server ip:192.168.150.16

    NFS-Client ip:192.168.150.15

    4.3.1 NFS服务器配置

    1.安装NFS服务和rpcbind

    首先使用yum安装nfs服务:

    yum -y install rpcbind nfs-utils

    2.创建共享目录

    在服务器上创建共享目录,并设置权限。

    mkdir –p /data/share/

    chmod 755 -R /data/share/

    3.配置NFS

    nfs的配置文件是 /etc/exports ,在配置文件中加入一行:

    /data/share/ 192.168.42.102(rw,no_root_squash,no_all_squash,sync)

    4.启动服务

    按顺序启动rpcbind和nfs服务:

    systemctl start rpcbind

    systemctl start nfs

     5.验证服务

     rpcinfo -p

     我们可以使用 showmount 命令来查看服务端(本机)是否可连接:

    showmount -e localhost

    4.3.2  NFS客户端配置

    1.安装rpcbind服务

    yum -y install nfs-utils rpcbind

    客户端只需要启动rpcbind服务即可:

    service rpcbind start

     2.挂载远程nfs文件系统

    建立挂载目录,执行挂载命令:

    mkdir /mnt/share

    mount -t nfs 192.168.150.15:/data/share /mnt/share/ -o nolock,nfsvers=3,vers=3

      3. 测试验证

     4.测试结果

    客户端:

    服务端:

  • 相关阅读:
    C++ reference
    (多级缓存)多级缓存
    CCF的计算机资格考试模拟题202305-1
    【云原生之Docker实战】使用docker部署Wiznote私人笔记系统
    OC-编译错误
    C# WPF入门学习番外篇(二) —— C# WPF使用数据库创建注册登录界面
    0基础学习VR全景平台篇第120篇:极坐标处理接缝 - PS教程
    Qt(day3)
    在vue中this.$refs是干什么的?
    ElasticSearch常见面试题汇总
  • 原文地址:https://blog.csdn.net/zcffight/article/details/127817296