#ssh远程双向无密码登陆
需求:在192.168.10.100执行ssh 192.168.20.205不需要输入密码直接跳转到205机器
#在192.168.10.100执行命令,我这里使用root用户

> ssh-keygen -t rsa -P ''       #直接回车回车,不输入任何内容(在192.168.10.100生成公钥和私钥放在/root/.ssh  目录下)
> ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.20.205    #把192.168.10.100的公钥复制到192.168.20.205,并追加到192.168.20.205服务器密钥信任列表(需要输入对应用户密码)

> ssh 192.168.20.205   #测试是不是可以不输入密码调到192.168.20.205服务器

#想在192.168.20.205免密码登陆192.168.10.100只需要把上述三个命令在192.168.20.205执行一次即可.

详细原理如下: 
#配置10.100
1.在客户端生成公钥和私钥
ssh-keygen -t rsa -P ''#直接回车,不输入任何内容
cd /root/.ssh#生成的公钥和私钥位置
2.把生成的公钥追加到自己的信任列表,自己可以ssh localhost不需要输入密码
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3.修改ssh配置文件让其支持远程rsa验证登陆
vim /etc/ssh/sshd_config
放开注释:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
4.重启sshd服务
service sshd restart
5.本机测试是否支持无密码连接
ssh localhost#第一次输入yes
ssh localhost#第二次直接登陆
6.把自己的公钥给服务器
scp ~/.ssh/id_rsa.pub root@192.168.20.205:~/
 
7.登陆服务器192.168.20.205,把公钥追加到自己信任列表
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
8.服务器端重启sshd
service sshd restart
9.这时10.100(提供公钥方)可以无密码登陆20.205(信任列表有10.100公钥).
###单向无密码认证完成###
 
#在205服务器按照上述步骤做一次即可.
0.一样的步骤
生成公钥私钥--->公钥追加到自己的信任列表--->修改配置文件(放开注释)--->重启sshd--->本机测试
1.复制服务端公钥
scp ~/.ssh/id_rsa.pub root@192.168.10.100:~/ 
2.进入客户端,把服务器公钥追加到客户端信任列表
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
3.服务端直接登陆客户端
ssh 192.168.10.100
 
###修改ssh端口###
vim /etc/ssh/sshd_config
查找port,放开注释,可以添加一行(支持多端口),也可以直接改掉22端口.
 
 
如果遇到此问题:
 
cd /root/.ssh/
vim known_hosts     #删掉该主机对应的信任信息,因为之前配置过一次,但这一次重新生成了公私钥,而这边还是旧了,认证不了就报错.
 

18.ssh远程双向无密码登陆的更多相关文章

  1. ssh 信任关系无密码登陆,清除公钥,批量脚本

    实验机器: 主机a:192.168.2.128 主机b:192.168.2.130 实验目标: 手动建立a到b的信任关系,实现在主机a通过 ssh 192.168.2.130不用输入密码远程登陆b主机 ...

  2. Linux设置ssh无密码登陆

    最近在折腾Hadoop,要用到主机间无密码登陆,设置的时候遇到了一些问题,这里记录一下. 假设A需要无密码登陆B. 那么首先需要在A上使用ssh-keygen生成id_rsa.pub的公钥,生成时,一 ...

  3. ssh无密码登陆远程机,pssh轻批量工具

    #B(client)--------A(g_server)#A:   ssh-keygen -t rsa (g_server)#B:    scp -P 58422 root@g_server_ip: ...

  4. ssky-keygen + ssh-copy-id 无密码登陆远程LINUX主机

    ssky-keygen + ssh-copy-id 无密码登陆远程LINUX主机 使用下例中ssky-keygen和ssh-copy-id,仅需通过3个步骤的简单设置而无需输入密码就能登录远程Linu ...

  5. ssky-keygen + ssh-copy-id 无密码登陆远程LINUX主机【OK】

    ssky-keygen + ssh-copy-id 无密码登陆远程LINUX主机[OK]     使用下例中ssky-keygen和ssh-copy-id,仅需通过3个步骤的简单设置而无需输入密码就能 ...

  6. 解决root用户ssh配置无密码登陆/hadoop用户照仿可以实现相同功能:hadoop用户登录并且把命令的所有root换成home/hadoop

    http://inuyasha1027.blog.51cto.com/4003695/1132896/ 主机ip:192.168.163.100(hostname: node0) ssh无密码登陆的远 ...

  7. 烂泥:学习ssh之ssh无密码登陆

    本文由秀依林枫提供友情赞助,首发于烂泥行天下 最近一个月没有写过文章,主要是刚刚换的新工作.新公司服务器OS使用的是ubuntu server版,和以前熟悉的centos还是有很多不同的. 刚好这几天 ...

  8. [SSH服务]——一个SSH无密码登陆实验

    实验拓扑图 实验描述 机房内有两台服务器: (1)B服务器10.0.10.158,充当Web服务器,有普通用户user_00 (2)C服务器10.0.10.191,充当Mysql服务器,有普通用户us ...

  9. SSH 远程登陆

    2019-03-10 20:41:39 一.什么是SSH 简单说,SSH是一种网络协议,用于计算机之间的加密登录. 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登 ...

随机推荐

  1. IOS第二天多线程-01-延时执行

    **********延时执行 #import "HMViewController.h" @interface HMViewController () @end @implement ...

  2. C#编码标准

    一.命名约定 1.PascalCasting PascalCasing 每一个单词第一个字母大写,其余字母均小写.例如:FileAccess,ArraySegment等. 除了参数.变量.常量外,所有 ...

  3. JavaDate类

    在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理.这里简单介绍一下Date类的使用. ...

  4. jdk安装配置具体分析

    JDK 选择安装目录 安装过程中会出现两次 安装提示 .第一次是安装 jdk ,第二次是安装 jre .建议两个都安装在同一个java文件夹中的不同文件夹中.(不能都安装在java文件夹的根目录下,j ...

  5. 20145209&20145309信息安全系统设计基础实验报告 (3)

    实验内容.步骤与体会: 实验过程的理解,实验指导书中知识点的理解. (1)为什么在双击了GIVEIO和JTAG驱动安装文件后还需要手动进行配置? 因为安装文件只是将驱动文件释放了出来,并没有在系统中将 ...

  6. switch多分支语句

    1.switch多分支语句的语法 switch(表达式){ case 常量值:要执行的语句; break; case 常量值:要执行的语句; break; case 常量值:要执行的语句; break ...

  7. SharedPreferences第一次使用后HashMap将常驻内存

    今天使用SharedPreferences的时候突然想到了这个问题,因为我们要存储应用级别的上下文信息,包括用户信息等一系列信息:这个时候使用getSharedPreferences是否合适呢! 其实 ...

  8. 一些小题<代码>

    1.用传统方法计算一个数的二进制 1.只能计算小于2**16的数字 i = 17 num_2 = int(input("输入一个数字:").strip()) while True: ...

  9. MySQL 范式

    在做笔试题的时候遇到一些判断范式的题,就去找了些博客与书来看,觉得这个是比较好理解的: 第一范式:确保每列的原子性. 如果每列(或者每个属性)都是不可再分的最小数据单元(也称为最小的原子单元),则满足 ...

  10. Java StringBuilder 高性能用法总结

    StringBuilder 误解: 1. Java编译优化后+和StringBuilder的效果一样: 2. StringBuilder不是线程安全的,为了"安全"起见最好还是用S ...