最近有个需求,Jenkins需要将war传输到各个项目节点中,所以需要远程执行各个节点的shell脚本.但是中间有个输入密码的过程,在自动化部署中是行不通的,故需要增加免密登录.具体如下:

如果想在 A 这太机器上可以不需要密码就 ssh 到 B 、 C 两台机器上,可以采用如下的方法:

1.

  A机器上

ssh-keygen -t rsa

如果A机器上的目录(home/.ssh/,如果是root用户,则目录是在root/.ssh/)没有 authorized_keys 文件,那么:

cp /home/xxx/.ssh/id_rsa.pub /home/xxx/.ssh/authorized_keys

此时A机器的目录是这样的:

2.

  B,C机器上:

ssh-keygen -t rsa

  B,C机器的目录是这样的:忽略known_hosts文件,系统自动生成的.

  

3.

  将B,C机器中的id_rsa.pub的内容cat到A机器的 authorized_keys 中去:

  然后:

cat [B,C机器的id_rsa.pub文件] >> [A机器的authorized_keys文件]

回车,完成;

最后:

  

在B和C机器上:  chmod 644 authorized_keys  这一步非常关键,必须保证 authorized_keys 只对其所有者有读写权限,其他人不允许有写的权限,否则 SSH 是不会工作的

可以直接 ssh username@ 机器名了,同一台机器的不同用户直接也可以以这种方式来访问

如果经过上面的步骤还是提示需要密码,注意一下权限问题,主要有三个权限

(1) /home/username这目录的权限应该是700

(2) /home/username/.ssh 这个目录的权限也应该是700

(3) /home/username/.ssh/ authorized_keys这个文件的权限是644

如果还是不正确,那么tail /var/log/secure一下这个日志文件,就能发现问题。

参考文章:https://blog.csdn.net/xqhrs232/article/details/71159718

Linux SSH , SCP 建立信任关系(免密传输)的更多相关文章

  1. 两条命令在Linux主机之间建立信任关系

    ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa //生成当前用户密钥 ssh-copy-id -i /root/.ssh/id_rsa.pub r ...

  2. 两台linux之间建立信任关系,实现免密码ssh远程登录或scp数据上传

    两台linux之间建立信任关系,实现免密码远程登录或数据上传 1.执行ssh-keygen命令,生成建立安全信任关系的证书: linux1上:执行命令  ssh-keygen  -t rsa 在程序提 ...

  3. SCP免密传输和SSH登录流程详解

    SCP免密传输和SSH登录协议详解 在linux下开发时,经常需要登录到其他的设备上,例如虚拟机内ubuntu.树莓派等等,经常涉及到传输文件的操作,传输文件有很多中方法,如物理磁盘拷贝,基于网络的s ...

  4. linux机器间建立信任关系

    linux机器间建立信任关系 如何建立信任关系 在shell脚本中,需要使用scp命令将本地的文件复制到另一台机器中备份.但通常执行scp命令后都需要输入用户密码,这样在定时自动执行shell脚本中就 ...

  5. ssh两台机器建立信任关系无密码登陆

    在建立信任关系之前先看看基于公钥.私钥的加密和认证. 私钥签名过程 消息-->[私钥]-->签名-->[公钥]-->认证 私钥数字签名,公钥验证 Alice生成公钥和私钥,并将 ...

  6. linux建立信任关系

    (1).切换到需要建立信任关系的用户(2).执行命令:ssh-keygen  -d,然后一直回车.该命令会在用户home目录下生成一个隐藏的.ssh目录.目录里面有两个文件:id_dsa.id_dsa ...

  7. [CentOS7] ssh免密登录 scp免密传输

    我们采用RSA非对称加密算法,原理: 如果,A要和B通讯,则: (1). A通过RSA算法生成公钥(.pub)和私钥(公钥用于加密,私钥用于解密) (2). B将A的公钥文件(.pub)内容加入到au ...

  8. Linux/Unix双机建立信任教程

    Linux/Unix双机建立信任教程 一 需要建立信任关系的2台主机都执行生成密钥输入ssh-keygen -t rsa之后全部默认回车,这样就会在/root/.ssh下生成密钥文件 [root@pl ...

  9. Linux SSh scp使用【远程文件/目录的传输】

    一:Linux ssh scp的简介及作用: scp就是secure copy的简写,用于在linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器. 有时我们 ...

随机推荐

  1. 华大MCU单片机之HC32F003/HC32F005 hc32f005_ddl_Rev1.9.0 Lite精简版库使用心得

    之前几个项目开发都是用的华大HC32F003_DDL_Rev1.0.2的库函数,今年刚开始入手华大,刚开始不是很了解这个芯片,看到库能用就上手了.这个版本的库编译效率很低,16K的芯片一下就写爆了.后 ...

  2. Django认证系统并不鸡肋反而很重要

    在使用django-admin startproject创建项目后,Django就默认安装了一个采用session实现的认证系统.这是Django相比于其他框架的一大特点:自带认证系统,开箱即用.有人 ...

  3. ADF 第四篇:管道的执行和触发器

    Azure Data Factory 系列博客: ADF 第一篇:Azure Data Factory介绍 ADF 第二篇:使用UI创建数据工厂 ADF 第三篇:Integration runtime ...

  4. Spring 中常用的注解

    (1).用于注册bean对象的注解 1.1@Component: 作用: 调用无参构造创建一个bean对象,并把对象存入spring的Ioc容器,交由spring容器进行管理.相当于在xml中配置一个 ...

  5. 【Jmeter中,保存测试结果xml时报 error loading results file -see log file 问题的处理办法】

    使用JMeter测试并发保存测试文件时报错:Error loading results file - see file log解决办法:新建一个文本文件(什么类型都可以),在文件中加上<?xml ...

  6. 日期格式化:推荐使用SimpleDateFormat

    一.主题 日期格式化成字符串:SimpleDateFormat > DateFormatUtils 二.code public void DateFormat(){ SimpleDateForm ...

  7. 多任务-python实现-多进程文件拷贝器(2.1.10)

    @ 目录 1.需求 2.代码 1.需求 当去拷贝一个文件夹的所有文件时,使用多任务拷贝 假如一个文件使用一个进程处理 10000个文件就额可以使用最大值为10的进程池处理(当然max取值看具体主机性能 ...

  8. HW之蓝队防守

    待看文章: https://blog.csdn.net/DBappSecurity_/article/details/107364216?utm_medium=distribute.pc_releva ...

  9. 仙剑4CPK加密解密算法(转)

    // RSTEncDec.h: interface for the CRSTEncDec class. // ///////////////////////////////////////////// ...

  10. [.NET] - 基础知识 - 如何debug一个.NET application

    1.可以使用Debug/Trace类来将runtime信息输出到控制台窗口: https://msdn.microsoft.com/en-us/library/bs4c1wda.aspx https: ...