Linux上ssh免秘钥互登

两台机器分别为:
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 1030 17:09 id_rsa-rw-r--r--. 1 master master  395 1030 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 ***SotejwKqLFN67gQsc8oZhdirqPLUxn9ZeWRLj7z3fxDeDvL0fDJg3lQYVuMFyBN8qHPWYv36pttHSzeCVetxC3fFv7QMtZ036AawoiCMJTtteNFCkcaVnvEn8CJHrFH3D7AR 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

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )