为了方便分布式集群操作,主机master需要免密操作两个节点slave1和slave2(slave1和slave2在对应机器已经修改hosts文件)

首先了解scp的作用,直接将A机的文件复制到B机;

  scp [-P xxxx] A机文件路径 用户名@远程ip:/路径   (-P指定端口,默认22,大写P)

  eg:scp -P 10000 -r /usr/local/test root@127.0.0.2:/usr/local/         -r指定传输文件为文件夹

操作步骤:

 首先测试连接slave1操作:

    [root@master sbin]# ssh slave1
    root@slave1's password:

 这里时需要密码的

1.生成本机密钥

    ssh-keygen -t rsa

2.记录远程连接密码

    ssh-copy-id -i ~/.ssh/id_rsa.pub slave1

    ssh-copy-id -i ~/.ssh/id_rsa.pub slave2

3.测试操作

    ssh slave1

然后我们就可以在主机直接复制到不同的节点上了

scp -r /usr/local/product slave:/usr/local    注:这里的-r指的是文件夹,如果缺少参数同时拷贝的还是文件夹,此时会报错regular file

方法二:包含本机免密登录设置

、配置ssh免密码登录

  2.1、 配置Master无密码登录所有Worker

    2.1.1、在Master节点上生成密码对,在Master上执行以下命令:
      ssh-keygen -t rsa -P ''

      ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

      生成的密钥对:id_rsa和id_rsa.pub,默认存储在"/root/.ssh"目录下。

    2.1.2、在Master节点上做如下配置,把id_rsa.pub追加到授权的key里面去。
      cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    2.1.3、修改ssh配置文件"/etc/ssh/sshd_config"的下列内容:

RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)

    2.1.4、重启ssh服务,才能使刚才设置有效:service sshd restart

    2.1.5、验证无密码登录本机是否成功:ssh Master

转自:https://www.cnblogs.com/nswdxpg/p/8526920.html

linux之间免密操作的更多相关文章

  1. 两台linux服务器之间免密scp,在A机器上向B远程拷贝文件

    两台linux服务器之间免密scp,在A机器上向B远程拷贝文件 操作步骤:1.在A机器上,执行ssh-keygen -t rsa,一路按Enter,不需要输入任何内容.(如有提示是否覆盖,可输入y后按 ...

  2. linux计划任务防暴力破解脚本+免密操作

    1.在root创建satools目录 mkdir satools 2.编辑防破解脚本 vi fpj.sh #!/bin/bash #zsl -xie cat /var/log/secure|awk ' ...

  3. Redis学习---Redis的免密操作

    Redis的免密操作 问题解决[方式一]:当前这种linux配置redis密码的方法是一种临时的,如果redis重启之后密码就会失效 1.首先进入redis,如果没有开启redis则需要先开启: [r ...

  4. linux下免密登录配置

    1.首先大家先开三台虚拟机 2.回到首层. 2.1:编辑文件:    vim /etc/ssh/sshd_config 3:在master的linux上生成ssh密钥: ssh-keygen -t r ...

  5. scp免密操作

    scp免密操作 2.1服务器(本机)从目标服务器上传/下载文件或者文件夹 2.2生成秘钥 本机执行:ssh-keygen -t rsa 遇到提示,直接回车就OK,秘钥生成在用户的根目录的.ssh目录下 ...

  6. SSH免密码登录和Git免密操作

    SSH免密码登录和Git免密操作 每次打完包后都需要把包传到对应的服务器上从而让测试人员下载安装,但是每次ssh或scp时都需要重新输入密码:使用git代码托管平台只要修改了密码就需要输入密码.本文主 ...

  7. Linux服务器之间免密同步文件、重启R服务

    机器:ML-01/ML-02/ML-03 需求: 1.在ML-01上自动将文件同步至ML-02/ML-03 2.在ML-01上通过脚本重启ML-02/ML-03上的R服务 说明:以下示例中,ML-02 ...

  8. Linux 普通用户之间免密登陆

    目的: 同台机器之间实现普通用户之间的免密登陆: NN01 的user1 免密登陆 user2 不同机器之间实现普通用户之间的免密登陆 :NN01 的user1 免密登陆 NN01 的user1 一. ...

  9. Linux服务器之间免密登录设置

    说明: A为linux服务器a B为linux服务器b 每台linux都有ssh的服务端和客户端,linux下的ssh命令就是一个客户端 我们常用ssh协议来进行登陆或者是文件的拷贝,都需要密码 A要 ...

随机推荐

  1. for 循环 与forEach 里面return 的区别

    for 循环里面 return 可以直接终止 跳出 循环 forEach 是中断本次循环 直接 下一个循环 forEach想要取到值之后 直接跳出循环 可以用 try catch let arr = ...

  2. Codeblock代码提示自动补全(包括结构体成员)

    转:https://blog.csdn.net/haibin8473/article/details/79113650

  3. Django之权限

    关于rbac: (1) 创建表关系: class User(models.Model): name=models.CharField(max_length=32) pwd=models.CharFie ...

  4. Django之Xadmin

    零.预备知识 单例对象 方式一:__new__方法 方式二:模块导入,只要在引入的文件中实例了这个对象,不管引道哪里,这个对象都指向同一个内存空间 class My_singleton(object) ...

  5. Laravel 开发环境搭建 - Windows

    Laravel 开发环境搭建 - Windows  :   https://laravel-china.org/docs/laravel-development-environment/5.5/dev ...

  6. SQL join 连接时 条件加在 on后面和 where 的区别

    task 是用户任务表,manageuser是用户表,以left join 为参考: 此时主表是task,三条sql语句:注意区别.第一句无筛选条件,第二句筛选条件在on后面,第三句sql的筛选语句放 ...

  7. python向ftp上传文件,解决中文问题

    # coding: UTF-8 import os import sys import salt.client import salt.config import time from ftplib i ...

  8. CEC和ARC介绍

    众所周知,HDMI作为一个数字化视频音频的接收标准,是可以同时传输视频和音频的,当然随着HDMI版本的提升,它的功能也一直在增强.事实上 当HDMI升级到1.3时,人们就发现了HDMI多了一个CEC功 ...

  9. fiddler启用过滤规则只显示想要的接口数据

    fiddler启用过滤规则只显示想要的接口数据 比如只显示192.168.11.80站点数据 点击应用规则就可以只显示192.168.11.80了

  10. 【原创】Linux基础之后台运行

    linux服务器通常都是远程登录的,执行命令或者脚本时,如果连接断掉(执行时间较长或者网络不稳定时),那么进程也就没了,这时只能重新连接重新执行,这时可以使用后台执行: 1 nohup 命令 nohu ...