两台机器分别为:
master:192.168.1.10
sever1:192.168.1.20

1、检查机器名和连通性

a.查看/etc/hostname

[root@master master]# more /etc/hostname
master
[master@sever1 ~]$ more /etc/hostname
sever1

b.查看/etc/hosts

[master@sever1 ~]$ more /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 sever1
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.10 master
192.168.1.20 sever1

c.修改ssh config配置  /etc/ssh/sshd_config

PubkeyAuthentication yes      #号去掉

AuthorizedKeysFile      .ssh/authorized_keys

另外在该文件中显示,AuthorizedKeysFile      .ssh/authorized_keys,keys存储路径在”.ssh“的文件夹的authorized_keys文件里。

2.生成秘钥文件

由于刚开始是没有.ssh目录的,所有需要创建,有的话就不再创建。

在master操作:

[master@master ~]$ mkdir .ssh
[master@master ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/master/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/master/.ssh/id_rsa.
Your public key has been saved in /home/master/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:fXev+pN/A3hbytQBouTfgN2rgBFWDEDUFE60n9rEbdA master@master
The key's randomart image is:
+---[RSA 2048]----+
| o+=*=. |
| o+.o.. . |
| .o+.+Eo . |
| .o=+o . . |
| S=oo= + o|
| .+..+ B +.|
| . .. = =..|
| . +oo.|
| .ooo+|
+----[SHA256]-----+
[master@master ~]$ ll .ssh
总用量 8
-rw-------. 1 master master 1679 10月 30 17:09 id_rsa
-rw-r--r--. 1 master master  395 10月 30 17:09 id_rsa.pu

在.ssh 目录下生成了  id_rsa(私钥)     id_rsa.pub(公钥)

chmod 600 authorized_keys

在sever1上操作:

mkdir .ssh

把master .ssh/authorized_keys   复制到server1 .ssh 目录下

[master@sever1 .ssh]$ scp id_rsa.pub 192.168.1.10:/home/master/
master@192.168.1.10's password:
id_rsa.pub 100% 395 146.3KB/s 00:00

在server1 创建秘钥文件

ssh-keygen -t rsa

cat id_rsa.pub >> authorized_keys

把sever1 的 公钥 id_rsa.pub  复制到master上的authorized_keys 中

[master@sever1 .ssh]$ scp id_rsa.pub 192.168.1.10:/home/master/
master@192.168.1.10's password:
id_rsa.pub 100% 395 146.3KB/s 00:00

在master上   cat id_rsa.pub >>.ssh/authorized_keys

操作检查:

在master上

[master@master .ssh]$ more authorized_keys
ssh-rsa ***SotejwKqLFN67gQsc8oZhdirqPLUxn9ZeWRLj7z3fxDeDvL0fDJg3lQYVuMFyBN8qHPWYv36pttHSzeCVetxC3
fFv7QMtZ036AawoiCMJTtteNFCkcaVnvEn8CJHrFH3D7AR master@master
ssh-rsa ***PxJEBChJ2QVVfY1soOpZCzgP60lYhx7AsdPe8L2OV69QnGjdSNGGCedppufAxexW0jEObES7FUa4vwtLgw8+S5
8QT52SpWm8rYC9FtQlfg3hwcAAgLnPdsEJj5pMhj4g5W2R master@sever1

在server1上

[master@sever1 .ssh]$ more authorized_keys
ssh-rsa ***8i1ZYqsRM3XRmRR6iGIqV63oW763l3BR7+E5Y76mA1jNYnhl1fLOU4V6xYx
fFv7QMtZ036AawoiCMJTtteNFCkcaVnvEn8CJHrFH3D7AR master@master
ssh-rsa ***8L2OV69QnGjdSNGGCedppufAxexW0jEObES7FUa4vwtLgw8+S5Jj9m0SYO7
8QT52SpWm8rYC9FtQlfg3hwcAAgLnPdsEJj5pMhj4g5W2R master@sever1

但是在master 和server1 上分别ssh 依旧是需要密码的,该怎么解决?

在master 和server1   分别执行 chmod 700 .ssh

验证:

在master上执行

[master@master ~]$ ssh 192.168.1.20
Last login: Tue Oct 30 17:40:13 2018 from 192.168.1.1
[master@sever1 ~]$

在server1上执行

[master@sever1 ~]$ ssh 192.168.1.10
Last login: Tue Oct 30 17:40:10 2018 from 192.168.1.1
[master@master ~]$

验证通过。

另计:

会在当前用户的主目录下生成一个.ssh文件夹用于保存:密钥、authorized_keys、等文件。

1:)生成密钥
          ssh-keygen -t rsa    (一直回车就行)

2:将公钥复制进入一个名字为"authorized_keys"中。
          这个名字是默认的,不能改变,
          因为系统就是根据这个文件来判断那些机器的公钥已经保存在这里了,
          可以进行免钥登录。
          cat id_rsa.pub >> authorized_keys  
      (这是放在本地的authorized_keys,是为了能够ssh localhost)

3:分发密钥 (这是最主要的!因为目的主机有client机器的公钥才能免密登录)

ssh-copy-id 目的主机IP

Linux上ssh免秘钥互登的更多相关文章

  1. linux下ssh免秘钥登录

    1.检查防火墙是否关闭 (1)切换到root用户 (2)查看防火墙状态 service iptables status 这是没有关闭 (3)设置关闭 service iptables stop 2.检 ...

  2. Linux SSH 免秘钥登录

    SSH 免秘钥登录 ssh:是一种安全加密协议 ssh  username@hostname     ssh gongziyuan.com:以当前用户登录该机器(如果不是当前用户,需要这么干:ssh ...

  3. Linux之间配置免秘钥访问

    环境说明 [root@localhost1 ~]# cat /etc/redhat-release CentOS release 6.5 (Final) [root@localhost1 ~]# un ...

  4. ssh免秘钥登陆实现

    1.用处 搭建集群或者工作中登陆跳板机经常需要做免秘钥互相登陆彼此服务器. 2. 准备工作   假设A主机10.20.0.1想通过ssh登录到B主机10.20.0.2上.   那么客户端(A主机)需要 ...

  5. ssh免秘钥配置

    1.要求:两台相同的系统,这里设置server1控制server2的服务器 2.先在两台服务器上都安装好ssh 输入命令下载: yum install -y openssh-clients opens ...

  6. Centos7 配置ssh 免秘钥登陆

    1.yum install -y openssh 2.servier1: ssh-keygen -t rsa #有提示的直接enter 3.server 2: ssh-keygen -t rsa # ...

  7. linux普通用户免秘钥登录(xshell工具环境)

    一.xshell生成密钥 1)工具->新建用户密钥生成向导 2)选择密钥类型.密钥长度(默认即可) 3)生成密钥(生成公钥和私钥) 4)为密钥加密,增加密码(可选),建议加上 5)将公钥保存为文 ...

  8. 服务器做ssh免秘钥登陆

    集群内服务器做非root用户免秘钥登陆:1.node1新建用户abc1,制作公钥.私钥(一路回车键即可)ssh-keygen –t rsa将自动在/home/abc1/.ssh/目录下创建公私钥文件如 ...

  9. ssh免秘钥

    用过好几次免秘钥,但是每次都会忘了应该把copy谁的公钥到另外用户的.ssh文件夹 这里专门记录一次 注意点: A要使用ssh免密登录到B用户下(可以使远程服务器),就把A的用户下的.ssh文件的id ...

随机推荐

  1. [go]net/http

    常用方法 r.Method == "GET" time.Now().Format("2006-01-02 15:04:05") //文件操作 os.Create ...

  2. C++ 学习安排

    第一阶段主要是理解概念及最基本的定义和声明包含以下内容:1. 头文件2. 命名空间3. 变量和基本类型4. 函数5. 类6. 标准库类型第二部分进阶入门,主要学习C++中的某些内容的特殊性及逻辑编写1 ...

  3. Numpy中matrix()和array()的区别

    matrix() 和 array() 的区别,主要从以下方面说起: 1. 矩阵生成方式不同 import numpy as np a1 = np.array([[1, 2], [3, 4]]) b1 ...

  4. c# 动态编译CodeDomProvider.CompileAssemblyFromSource(CompilerParameters cp,string code)

    1.使用c#动态编译,可参考如下: //生成c#代码 string code = GenerateCode(); CodeDomProvider cdp = CodeDomProvider.Creat ...

  5. ArrayList去除集合中字符串的重复值

    package com.heima.list; import java.util.ArrayList; import java.util.Iterator; import java.util.List ...

  6. WDS部署Windows server2012初试

    通过安装WDS,使用pxe自动部署Windows Server Active Directory详解:https://blog.51cto.com/terryli/141686 1.首先在VM虚拟机上 ...

  7. Spring学习之==>AOP

    一.概述 AOP(Aspect Oriented Programming)称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等等,Struts2的拦截器设计就是基于A ...

  8. python基础(代码规范、命名规范、代码缩进、注释)

    代码规范 PEP8(python增强建议书第8版) 每个import语句只导入一个模块 不要在行尾添加分号";" 建议每行不超过80个字符   超出部分可以用()来进行换行例如: ...

  9. Java Applet基础——输出HelloWorld

    前言: 我自己不专用applet,仅仅是了解一下,如果有不对的地方,还望大家多多帮助~谢谢! 一. 准备环境 1. 安装Java的编译环境(另行百度哦~) 2. 下载 applet.jar ,放在项目 ...

  10. 网页设计——HTML(3)布局基础

    为什么要布局? 网页布局,也就是如何安排网页的内容. 一个好的网页布局能够使人眼前一亮,吸引流量. 本篇文章中我们不讨论相关的设计理论,我们只对布局所用到的HTML知识进行学习. 几种简单的布局方式 ...