zoukankan      html  css  js  c++  java
  • SSH无密码登录及SCP

    1 scp命令
    1)scp可以实现服务器与服务器之间的数据拷贝。
    2)案例实操

    (1)将hadoop101中/opt/module和/opt/software文件拷贝到hadoop102、hadoop103和hadoop104上。
      [root@hadoop101 /]# scp -r /opt/module/ root@hadoop102:/opt
    (2)将hadoop102服务器上的文件拷贝到当前用户下。
      [root@hadoop101 opt]# scp root@hadoop102:/etc/profile /opt/tmp/
    (3)实现两台远程机器之间的文件传输(hadoop103主机文件拷贝到hadoop104主机上)
      [root@hadoop102 test]$ scp root@hadoop103:/opt/test/haha root@hadoop104:/opt/test/
    (4)将文件从192.168.1.103上拉取到本系统中
      [root@hadoop102 test]$ scp root@hadoop103:/opt/test/haha ./

    2 SSH无密码登录
    1)配置ssh
    (1)基本语法
    ssh 另一台电脑的ip地址
    (2)ssh连接时出现Host key verification failed的解决方法
    [root@hadoop2 opt]# ssh 192.168.1.103
    :yes
    2)无密钥配置
    (1)进入到我的home目录
    cd ~/.ssh
    (2)生成公钥和私钥:
    ssh-keygen -t rsa
    (3)将公钥拷贝到要免密登录的目标机器上(包括本身机器都是需要配置的)
    ssh-copy-id 192.168.1.102

    3).ssh文件夹下的文件功能解释
    (1)~/.ssh/known_hosts :记录ssh访问过计算机的公钥(public key)
    (2)id_rsa :生成的私钥
    (3)id_rsa.pub :生成的公钥
    (4)authorized_keys :存放授权过得无秘登录服务器公钥

    3 rsync
    rsync远程同步工具,主要用于备份和镜像。(对原以有不同名文件不动,只增不减;对原有同名文件会进行修改)。

    4 编写集群分发脚本xsync
    案例实操:
    (1)在/usr/local/bin目录下创建xsync文件,文件内容如下:
    #!/bin/bash
    #1 获取输入参数个数,如果没有参数,直接退出
    pcount=$#
    if((pcount==0)); then
    echo no args;
    exit;
    fi

    #2 获取文件名称
    p1=$1
    fname=`basename $p1`
    echo fname=$fname

    #3 获取上级目录到绝对路径
    pdir=`cd -P $(dirname $p1); pwd`
    echo pdir=$pdir

    #4 获取当前用户名称
    user=`whoami`

    #5 循环
    for((host=103; host<105; host++)); do
    #echo $pdir/$fname $user@hadoop$host:$pdir
    echo --------------- hadoop$host ----------------
    rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
    done
    (2)修改脚本 xsync 具有执行权限
    [root@hadoop102 bin]# chmod a+x xsync = [root@hadoop102 bin]# chmod 777 xsync
    (3)调用脚本形式:xsync 文件名称

    5 编写分发脚本xcall

    具体实现:
    (1)在/usr/local/bin目录下创建xcall文件,文件内容如下:
    #!/bin/bash
    pcount=$#
    if((pcount==0));then
    echo no args;
    exit;
    fi

    echo -------------localhost----------
    $@
    for((host=101; host<=108; host++)); do
    echo ----------hadoop$host---------
    ssh hadoop$host $@
    done
    (2)修改脚本 xcall 具有执行权限
    [root@hadoop102 bin]# chmod a+x xcall
    (3)调用脚本形式: xcall 操作命令
    [root@hadoop102 ~]# xcall rm -rf /opt/tmp/profile

  • 相关阅读:
    ArrayList与LinkedList区别
    ArrayList底层原理
    nginx启用https访问
    云服务器搭建 Nginx 静态网站
    在云服务器上(CentOS)上安装Node
    文本超出显示省略号CSS
    vue使用改变element-ui主题色
    vue中的select框的值动态绑定
    vue项目对axios的全局配置
    使用crypto-js对数据进行AES加密、解密
  • 原文地址:https://www.cnblogs.com/zyanrong/p/11641788.html
Copyright © 2011-2022 走看看