热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

CentOS多台服务器共用密钥ssh自动登陆

最近在研究自动登陆的linux服务器的东西。本篇为关于ssh的秘钥自动登陆。update:2014.3.94:21PM,昨晚写完这篇之后,发现IBM的网上有篇关于ssh认证的完整描述。伤心了。。https://www.ibm.com/developerworks/cn/linux/security/openssh/part1/猜想:linux的秘钥产生与服务器无关,只和加密的方式(采用rs

最近在研究自动登陆的linux服务器的东西。本篇为关于ssh的秘钥自动登陆。

update:2014.3.9 4:21 PM,昨晚写完这篇之后,发现IBM的网上有篇关于ssh认证的完整描述。伤心了。。

https://www.ibm.com/developerworks/cn/linux/security/openssh/part1/


猜想:linux的秘钥产生与服务器无关,只和加密的方式(采用rsa或dsa)还有passphrase(密码短语,在生成秘钥的时候输入的)有关。

如果是这样的话,同一对秘钥可以使用在多台服务器上,因为对于服务器和客户端来说,他们在通信的时候只需验证秘钥和公钥是否匹配。

即存在一个global的公钥存放在ssh服务器上,而多台客户端则使用的同一秘钥登陆ssh服务器上。


测试环境:本机windows使用secureCRT客户端,两台redhat 6.3的虚拟机(linuxA和B,192.168.1.2/3)。虚机与主机使用桥接网络,处于同一局域网。


测试过程:

注:公钥一般是pub结尾,但是服务器验证的文件是authorized_key,所以要把pub文件的内容转入authorized_key。pub文件本身没用。

1、使用CRT生成秘钥对,将公钥上传到linuxA,成功登陆后,cpoyA机中的公钥至B机中,实现CRT自动登陆B机,验证公钥为通用。

首先使用CRT生成秘钥:

1.使用SecureCRT创建私钥和公钥(Set Passphrase 可以设置为空密码,比较方面验证
SecureCRT: Quick Connect -> Authentiation -> Public Key -> Properties -> Create Identity File -> DSA/RSA -> Set Passphrase -> Done
这个时候在指定目录会生成两个文件,例如,私钥my_rsa和公钥my_rsa.pub
2.linux服务器上建立.ssh目录,一般情况下,已经有这个目录(更改权限很重要,认证的时候权限不是700不给通过
# mkdir /root/.ssh
# chmod 700 /root/.ssh
3.将公钥 my_rsa.pub 传到linux服务器,将SSH2兼容格式的公钥转换成为Openssh兼容格式(一般情况是ssh2,不排除ssh1
# ssh-keygen -i -f Identity.pub >> /root/.ssh/authorized_keys2
# chmod 600 /root/.ssh/authorized_keys2
4.在SecureCRT里面设置登录模式为PublicKey,并选择刚刚创建的my_rsa文件作为私钥
5.重启Linux服务器上SSH服务器(测试貌似不用重启服务也能生效

#service sshd restart 或者 /etc/rc.d/init.d/sshd restart


此阶段,测试成功,A和B机使用的同一对authorized_keys2,CRT都能实现自动登陆。


2、在B机中生成秘钥对,将公钥复制到A中,实现B机自动登陆A,然后将B的秘钥传过去,把A的authorized_keys2内容写入B的authorized_keys2文件中,实现A自动登陆B。


步骤1: 用 ssh-key-gen 在本地主机上创建公钥和密钥
local-host$ ssh-keygen -t  rsa


Enter file in which to save the key (/home/jsmith/.ssh/id_rsa):[Enter key]
Enter passphrase (empty for no passphrase): [Press enter key]
Enter same passphrase again: [Pess enter key]
Your identification has been saved in /home/jsmith/.ssh/id_rsa.
Your public key has been saved in /home/jsmith/.ssh/id_rsa.pub.
The key fingerprint is: 33:b3:fe:af:95:95:18:11:31:d5:de:96:2f:f2:35:f9
local-host

步骤2: 用 ssh-copy-id 把公钥复制到远程A主机上
local-host$ ssh-copy-id -i ~/.ssh/id_rsa.pub  root@192.168.1.2
remote-host‘s password:
Now try logging into the machine, with ?ssh ?remote-host‘‖, and check in:
.ssh/authorized_keys to make sure we haven‘t added extra keys that you weren‘t expecting.
[注: ssh-copy-id 把密钥追加到远程主机的 .ssh/id_rsa 上.]

步骤3: 直接登录A远程主机
local-host$ ssh root@192.168.1.2
Last login: Sat Mar  8 12:37:48 2014 from 192.168.1.3
[注: SSH 不会询问密码.]


然后通过sftp,将B机的id_rsa传到A机,把A的authorized_keys2传过来。此时A和B都可互相自动登陆。


测试结果:验证猜想成功,最好是有第三台linux再可以验证下就好了。


补充安全问题:由于.ssh文件夹和privatekey都权限为700和600,同时sftp服务器只开通sftp登陆权限和控制home文件目录,只要妥善保管privatekey,在ssh协议下是没有安全顾虑的。参见SSH认证原理(http://qujunorz.blog.51cto.com/6378776/1371344

本文出自 “hiubuntu” 博客,请务必保留此出处http://qujunorz.blog.51cto.com/6378776/1370921



推荐阅读
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • Linuxchmod目录权限命令图文详解在Linux文件系统模型中,每个文件都有一组9个权限位用来控制谁能够读写和执行该文件的内容。对于目录来说,执行位的作用是控制能否进入或者通过 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • 本文介绍了在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一,尤其是在大规模系统中,数据库集群已经成为必备的配置之一。文章详细介绍了主从数据库架构的好处和实验环境的搭建方法,包括主数据库的配置文件修改和设置需要同步的数据库等内容。MySQL的主从复制功能在国内外大型网站架构体系中被广泛采用,本文总结了作者在实际的Web项目中的实践经验。 ... [详细]
  • 本文详细介绍了在Centos7上部署安装zabbix5.0的步骤和注意事项,包括准备工作、获取所需的yum源、关闭防火墙和SELINUX等。提供了一步一步的操作指南,帮助读者顺利完成安装过程。 ... [详细]
  • GSIOpenSSH PAM_USER 安全绕过漏洞
    漏洞名称:GSI-OpenSSHPAM_USER安全绕过漏洞CNNVD编号:CNNVD-201304-097发布时间:2013-04-09 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
author-avatar
窝大华_221
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有