SSH远程免密码: 
原理简述:客户端 创建公钥和私钥,公钥是锁,私钥是自己留在客户端的钥匙。 客户端将公钥(锁)发出到服务端,以后自己就能用客户端本地的私钥进行登陆,不用输入密码!
1.客户端,和服务端都 执行命令后生成公钥和私钥 (客户端IP: 130, 服务端IP :131):
ssh-keygen -t rsa -C "ssh-client"      <----------------->ssh-keygen
其中-C 是用来做描述的, 可以不用这个参数
密钥类型可以用 -t 选项指定。如果没有指定则默认生成用于SSH-2的RSA密钥。
所以  可以把命令简写为: ssh-keygen
2.客户端 将公钥 发送给服务端的特定位置,并改名。(需要在服务端   mkdir /root/.ssh/)

scp /root/.ssh/id_rsa.pub root@192.168.126.131:/root/.ssh/authorized_keys 

或者
ssh-copy-id  -i  .ssh/id_rsa.pub root@192.168.126.131

3.修改服务端收到的公钥权限(IP:131)

chmod 600 /root/.ssh/authorized_keys

4.客户端ssh登陆服务端实现免密码    (第一次登陆需要输入yes)

ssh -l root 192.168.126.131
注意:要保证.ssh和authorized_keys都只有用户自己有写权限。否则验证无效。(今天就是遇到这个问题,找了好久问题所在),其实仔细想想,这样做是为了不会出现系统漏洞。
 
===============================================
公司的一个需求:
ABCD等多台服务器  需要传输文件到 S服务器上,但需要免交互。
 
解决方案:
ABCD等多台服务器上 利用ssh-keygen命令生成公钥 和 私钥, 将其中一台服务器的公钥/root/.ssh/id_rsa.pub传输到 S服务器 改名为 ./ssh/authorized.key;然后 同样在BCD服务器上创建公钥和私钥,通过查看公钥文件,然后将每台服务器的公钥文件内容拷贝到 S服务器的 authorized.key 文件中。
解决问题!
 

SSH免密钥互信及企业案例的更多相关文章

  1. linux系统ssh免密钥登录配置

    linux主机配置ssh免密钥登录,具体配置如下: 1.执行命令ssh-keygen -t rsa,生成公钥和私钥(具体步骤详见下图) 2.会在当前用户的家目录的.ssh/生成公钥和私钥, 3.执行s ...

  2. gitlab用户添加ssh免密钥认证后clone还是要求输入密码

    今天在centos 7公网服务器上安装gitlab在配置ssh免密钥时遇到一个奇怪的事,正确添加了本机的公钥到gitlab账户上,进行clone时死活都要你输入密码gitlab使用yum安装的,之前在 ...

  3. 【大数据】设置SSH免密钥(转)

    设置SSH免密钥 关于ssh免密码的设置,要求每两台主机之间设置免密码,自己的主机与自己的主机之间也要求设置免密码. 这项操作可以在admin用户下执行,执行完毕公钥在/home/admin/.ssh ...

  4. ssh免密钥登陆的两种方式

    ssh 免密钥登陆的两种方式第一种:直接使用命令复制过去ssh-copy-id root@192.168.3.113批量复制for i in {113..140}; do ssh-copy-id ro ...

  5. Linux机器之间SSH免密钥登录设置

    SSH免密钥登录 私钥:密钥留在本机 公钥:密钥发给其他机 hadoop01 生成密钥: ssh-keygen -t rsa (密钥存放路径:/root/.ssh) id_rsa:私钥 id_rsa. ...

  6. [CentOS] SSH 免密钥登录

    一.环境说明: 操作系统:CentOS-7-x86_64-Minimal-1611 虚拟机:VMware® Workstation 12 Pro:12.5.5 build-5234757 服务器:no ...

  7. ssh免密钥之上厕所

    ssh服务简单介绍 SSH协议框架中最主要的部分是三个协议: *传输层协议(The Transport Layer Protocol)提供服务器认证,数据机密性,信息完整性等的支持; *用户认证协议( ...

  8. 014-配置SSH免密钥登录

    问题:client端需要免密钥登录服务器server如何配置?1.前提:客户端已安装openssh-client;服务端已安装openssh-server;服务器端22号端口已经打开2.需要密钥登录时 ...

  9. ssh免密钥登录一例问题

    今天遇到一个奇怪的问题,在同一机器上创建的普通用户使用 ssh-copy-id -i .ssh/id_rsa.pub root@192.168.3.254 建立与root用户的免密钥通信,结果死活还是 ...

随机推荐

  1. 剑指offer——面试题15.1:判断一个数是否为2的整数次方

    #include"iostream" using namespace std; bool IsTwoPower(int n) { )&n); } int main() { ...

  2. 剑指offer——面试题5:替换空格

    利用STL: #include"iostream" #include"stdio.h" #include"algorithm" using ...

  3. 解决运行vue项目的报错This relative module was not found:

    运行vue项目出现这样的报错. This relative module was not found: * ../../assets/img/spot.png !./src/components/on ...

  4. Win32 进程间通信的分析与比较

    1 进程与进程通信 进程是装入内存并准备执行的程序,每个进程都有私有的虚拟地址空间,由代码.数据以及它可利用的系统资源(如文件.管道等)组成.多进程/多线 程是Windows操作系统的一个基本特征.M ...

  5. Flask学习目录

    目录 Flask学习初识 Flask学习二

  6. java多线程-synchronized

    一.线程安全问题 多线程操作各自线程创建的资源的时候,不存在线程安全问题.但多线程操作同一个资源的时候就会出现线程安全问题.下例为两个线程操作同一个name资源时发生的问题. class TestSy ...

  7. vim源码编译启用python

    坑:只指定with-python-config-dir没有指定enable-pythoninterp是没有用的 ./configure --enable-pythoninterp --with-pyt ...

  8. 人民币金额大小写Js转换

    /** * 数字转中文 * @param dValue * @returns */ function chineseNumber(dValue) { var maxDec = 2; // 验证输入金额 ...

  9. MVC 下拉框获取值和赋值(多选)

    1.视图 <div class="form-group"> @Html.LabelFor(m => m.Positions, new { @class = &qu ...

  10. hdu 3255 体积并

    http://www.cnblogs.com/kane0526/archive/2013/03/07/2948446.html http://blog.csdn.net/acdreamers/arti ...