Linux多台服务器共用密钥ssh自动登陆,双机信任无
分类:关于美高梅

时偶尔在服务器程序(脚本)里面,或在命令行中,施行ssh,scp命令,会遇见必要密码的图景,特不平价!

率先理解一下加密技艺,加密技能平常通过所谓的风度翩翩对公钥(即public keys 和 private keys)举行加密与解密当SSH服务器主机运营后,主机缘发出三个公钥,而客商在与服务器实行连接时,能够经过客商自行发生的密钥连接服务器而客商端在与服务器实行连接时,能够因此自由发生的密钥来连接服务器,也足以通过服务器提供的私钥来开展三回九转,那与连接时候加密版本有关,当数码由Server端传送到client时,那几个多少先经过的公钥(public key卡塔 尔(英语:State of Qatar)进行加密,所以在传输进度中那几个数量是加密的,等那几个经过公钥(public key卡塔尔加密后,就足以因此所谓的私钥实行解秘。

近期在切磋活动登入的linux服务器的东西。本篇为关于ssh的秘钥自动登入。
update:2015.3.9 4:21 PM,明晚写完那篇之后,开采存篇关于ssh认证的完整描述。伤心了。http://www.linuxidc.com/Linux/2011-08/39871.htm

借使在两台相互信赖,其实步骤挺轻易,若是要从主机1上施行,ssh,scp操作。

SSH有二种版本的接二连三格局

估量:linux的秘钥产生与服务器非亲非故,只和加密的艺术(采取rsa或dsa卡塔尔国还会有passphrase(密码短语,在千变万化秘钥的时候输入的卡塔 尔(阿拉伯语:قطر‎有关。
 如果是那样的话,同生龙活虎对秘钥能够应用在多台服务器上,因为对此服务器和顾客端的话,他们在通讯的时候只需验证秘钥和公钥是还是不是协作。
 即存在二个global的公钥存放在ssh服务器上,而多台湾旅客商端则使用的雷同秘钥登入ssh服务器上。

  • 主机1:host1    用户1:user1
  • 主机2:host2    用户2:user2

SSH version 1
每台机械都足以行使福睿斯SA加密方法产生的一个10二十五人的EscortSA Key,那个普拉多SA的加密方法来发生公钥与钥方法,version 1 的漫天连接轻便加密步骤如下:
1.每一次SSH daemon(sshd)运营是时都发生贰个769人的公钥(或server key卡塔尔国并雄居Server中
2.若有的顾客乞请连接,server会将那几个公钥穿给顾客,Client通过对照本身的HighlanderSA加密方法来认同这些公钥
3.在Client选择那些768人的server key 之后 client本人会发出三个2伍拾陆人的私钥(host key卡塔 尔(英语:State of Qatar),况且以加密措施将server key 与host key凑成完全的key
并把那传给server
4.自此进展三番三遍就以那几个1022位的key举办数据的传递
5.clinet端的258人是不管三七三十九产生的,所以你此次连接于下一次连续几天使用的Key是不平等的。

测验情状:本机windows使用secureCRT客商端,两台RedHat 6.3的设想机(linuxA和B,192.168.1.2/3卡塔尔国。虚机与主机使用桥接网络,处于同生机勃勃局域网。

生龙活虎:在主机1上实行下列操作:

SSH version 2
与version 1 区别的是,version 2 司令员不发出server key,所以,当client端连接到Server端是,两个通过Diffie-Hellman的密钥调换发生四个分享key,之后双方通过近似Blowfish的算法进行合作加密操作

测验进度:
注:公钥日常是pub结尾,不过服务器验证的文本是authorized_key,所以要把pub文件的从头到尾的经过转入authorized_key。pub文件自身没用。
1、使用CRT生成秘钥对,将公钥上传到linuxA,成功登入后,cpoyA机中的公钥至B机中,实现CRT自动登录B机,验证公钥为通用。
先是使用CRT生成秘钥:
1.选用SecureCRT创造私钥和公钥(Set Passphrase 能够设置为空密码,相比方面证实卡塔 尔(英语:State of Qatar)
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卡塔 尔(英语:State of Qatar)
# 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

1./home/user1/.ssh/ 目录下,执行:ssh-keygen –t id_rsa

明白完基本的原理今后大家来做不用密码即能够登录的ssh客商
笔者们得以把client发生的key复制到server中如此,今后client登录server时,
是因为两个ssh要连接非数字信号传递中就已经相比较过key,因而得以一贯进去数据传  输  接口而不用密码访谈。
1.率先在client上创设public Key和private key,供给使用ssh-keygen命令

此阶段,测量检验成功,A和B机使用的大同小异对authorized_keys2,CRT都能完成自动登录。

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user1/.ssh/id_rsa):
/home/user1/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user1/.ssh/id_rsa.
Your public key has been saved in /home/user1/.ssh/id_rsa.pub.
The key fingerprint is:
12:a5:55:cc:1e:59:34:61:a2:41:ce:92:5a:a8:9d:ed user1@host1

[root@localhost .ssh]# ssh-keygen  –trsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):<---按enter
Enter same passphrase again:<---按enter
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
e8:8a:5e:ae:c7:13:45:d0:81:cd:3f:e6:1e:f8:88:5aroot@localhost.localdomain

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

2.一块私下认可回车,生成id_rsa.pub文件

2.然后将Private Key 放在client上的宿主目录,日常位于/root/.ssh/目录中
并修改权限为user可读
3结尾,将Public Key 放在别的叁个你想登录主机server中的某user的宿主目录
下的.ssh/子目录人证文件中就能够。
美高梅网址,4现行反革命192.168.0.6是client 想连接到192.168.0.8上用ssh-keygen –trsa发生key
(-t参数是接收和种密码)这时候在自己的/root/.ssh/里边发生了多少个文本分别是公钥
(id_rsa.pub)与私钥(id_rsa)此外要留意的便是id_rsa文件权限他必得是-rw------否则回不安全,id_rsa.pub正是公钥,把那几个放手server目录上去用命令

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

3.cat id_rsa.pub >> authorized_keys

[linuxidc@localhost .ssh]#sftp id_rsa.pub root@192.168.0.8
[linuxidc@localhost .ssh]#passwd
[linuxidc@localhost .ssh]#put id_rsa.pub
[root@localhost .ssh]#uploading id_rsa.pub to /root/.ssh/
[root@localhost .ssh]#exit
接下来到服务器上去192.168.0.8
[root@localhost .ssh]# ssh –lroot 192.168.0.8
[root@localhost .ssh]# cd /root/.ssh/
[root@localhost .ssh]#more id_rsa.pub >> authorized_keys 那样就足以了
[root@localhost .ssh]#
返回client上192.168.0.6
[root@localhost .ssh]# exit
[root@localhost .ssh]# ssh 192.168.0.8
那般无须求密码直接登入到服务器上了

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上施行下列操作:

连锁阅读:

手续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 上.]

1.拷贝主机1上的authorized_keys文件到/home/user2/.ssh/目录下。

贰遍由SELinux引起的SSH公钥认证退步难题 http://www.linuxidc.com/Linux/2013-07/87267.htm

步骤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 不会了然密码.]

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwvAv1SKPIkO2ucdmuz13RkVvSuZRKg/FGllbje/a2fDG2AYSdSKQSqe3GO/40YzA3BnVwBEY+cOKbTj9gpVWLf7bi1jZBDokeO3TWdQnzLfOObA4+F3EunwruyqekLTkAEpmoM400ndqmV5VGi1uvRl8gFgVes6pGkZAorzPll7vCCX4DC1R9XK8/VmtLm7Z4egR/UkPoiA9t7u/K3tdjn28DhPSEWnV1ggZZ30DxB14Mtw0+ZjP5joTISFXVBVDxbuUiibuS+2TmjVM3i20Ep1LTfzwFwYBbSGbReRIdowGsCaFK9zs6WIY84SRWR/mvIJOZQhbU1N/dQSnHobICQ== user1@host1

SSH配置双机信赖图像和文字详整 http://www.linuxidc.com/Linux/2013-06/86121.htm

接下来经过sftp,将B机的id_rsa传到A机,把A的authorized_keys2传过来。那时候A和B都可人机联作自动登入。

2.改观目录访谈权限:chmod 755 ~/.ssh/

OpenWrt暗中认可开机运转SSH的方法 http://www.linuxidc.com/Linux/2013-04/82976.htm

测量试验结果:验证估计成功,最佳是有第三台linux再能够印证下就好了。

三:最后在主机1上施行:

SSH原理和行使 http://www.linuxidc.com/Linux/2013-04/83150.htm

增补安全难题:由于.ssh文件夹和privatekey都权限为700和600,同不常候sftp服务器只开通sftp登录权限和调整home文件目录,只要妥帖保管privatekey,在ssh商量下是还未有平安记挂的。参见SSH认证原理 http://www.linuxidc.com/Linux/2014-03/97977.htm

  1. ssh user2@host2  
  2. scp user2@host2:/var/log/*.*  .
     
    就无需输入密码了。

Linux下SSH免密码登入 http://www.linuxidc.com/Linux/2012-08/67382.htm

CentOS 下SSH无密码登入的布置 http://www.linuxidc.com/Linux/2012-05/61346.htm

NOTE:
 
第豆蔻梢头ssh-keygen -t rsa命令生成了四个密钥和叁个公钥, 並且密钥能够安装本人的密码。可以把密钥明白成意气风发把钥匙, 公钥明白成那把钥匙对应的锁头,把锁头(公钥)放到想要调控的server上, 锁住server, 只有具有钥匙(密钥)的人, 技能开采锁头, 步入server并决定。而对此持有那把钥匙的人, 必须得清楚钥匙本人的密码,技能运用那把钥匙 (除非那把钥匙没设置密码), 那样就能够幸免钥匙被了配了(私钥被人复制)。当然, 这种例子只是利于领会罢了,具有root密码的人当然是不会被锁住的, 何况不自然唯有一把锁(公钥), 但假如此外黄金时代把锁, 被人用其对应的钥匙(私钥)张开了, server就能够被那个家伙调控了。
 所以说, 只要你已经知道server的root密码, 并将有root身份的公钥放到上边, 就能够用那些公钥对应的私钥"展开"server, 再以root的品质登陆, 即便现行反革命root密码已经济体退换!

美高梅网址 1

Linux下促成SSH无密码验证登入 http://www.linuxidc.com/Linux/2014-01/95917.htm

生龙活虎旦想操纵n个机器, 那就要求n对钥匙(密钥和公钥), ssh-keygen命令能够随便退换钥匙对的名字, 最好取轻便辨其他文本名,比如:
 # ssh-keygen -t rsa
 Generating public/private rsa key pair.
 Enter file in which to save the key(/root/.ssh/id_rsa): /root/.ssh/id_rsa_192.168.10.1
 
......

Ubuntu和CentOS怎么样安插SSH使得无密码登录 http://www.linuxidc.com/Linux/2014-01/94794.htm

这么私钥和公钥的名字分别正是:
 
id_rsa_192.168.10.1  和 id_rsa_192.168.10.1.pub
 然后将 id_rsa_192.168.0.1.pub 文件的剧情, 追加到服务器的~/.ssh/authorized_keys文件中,

美高梅网址 2

末段, 在地头用ssh命令的 -i 参数钦点地点密钥, 并登入:
 # ssh -i /root/.ssh/id_rsa_192.168.10.1 192.168.10.1
 
只要密钥设置了密码, 就用密钥的密码登入, 没设密码, 就径直登入进去了。scp也是同样。

通过配备SSH长远精通Puppet的语法及办事机制 http://www.linuxidc.com/Linux/2013-07/87882.htm

Ubuntu下SSH安装或设置 http://www.linuxidc.com/Linux/2013-07/87368.htm

SUSE启用SSH和FTP http://www.linuxidc.com/Linux/2010-08/28286.htm

应用SSH顾客端登录Linux之后现身乱码的解决方案 http://www.linuxidc.com/Linux/2010-08/28141.htm

精解Linux中SSH远程访问调整 http://www.linuxidc.com/Linux/2013-07/88048.htm

本文恒久更新链接地址:http://www.linuxidc.com/Linux/2014-08/105201.htm

美高梅网址 3

本文由美高梅网址发布于关于美高梅,转载请注明出处:Linux多台服务器共用密钥ssh自动登陆,双机信任无

上一篇:mybatis集成配置,框架搭建 下一篇:没有了
猜你喜欢
热门排行
精彩图文