当前位置: 首页 > Linux

使用Linux服务器之间的公钥实现免密码登录

时间:2023-04-06 19:01:36 Linux

配置步骤serverAserver:[root@serverA~]#su-usera[usera@serverA~]$pwd/home/usera#使用RSA生成密钥pair[usera@serverA~]$ssh-keygen-trsa生成公共/私人rsa密钥对。输入保存密钥的文件(/home/usera/.ssh/id_rsa):创建目录“/home/usera/.ssh”。Enterpassphrase(emptyfornopassphrase):Entersamepassphraseagain:你的身份已经保存在/home/usera/.ssh/id_rsa。您的公钥已保存在/home/usera/.ssh/id_rsa.pub中。密钥指纹为:39:f2:fc:70:ef:e9:bd:05:40:6e:64:b0:99:56:6e:01usera@serverA密钥的随机艺术图像是:+--[RSA2048]----+|伊奥*||@.||=*||哦哦。||.年代。||+。.||+。.||+。哦。||.o=o。|+--------------+#查看生成的密钥对[usera@serverA~]$ls-la.sshtotalusage16drwx------2userausera4096Aug2409:22.drwxrwx---12userausera4096Aug2409:22..-rw-------1userausera1675Aug2409:22id_rsa-rw-r--r--1用户是我们era399August2409:22id_rsa.pub#上传公钥给serverB服务器的userb用户#ssh-copy-id-i~/.ssh/id_rsa.pub"-p10022userb@10.124.84.20"[usera@portalweb1~]$ssh-copy-iduserb@10.124.84.20无法建立主机'10.124.84.20(10.124.84.20)'的认证。RSA密钥指纹为f0:1c:05:40:d3:71:31:61:b6:ad:7c:c2:f0:85:3c:cf.您确定要继续连接吗(是/否)?yesWarning:将“10.124.84.20”(RSA)永久添加到已知主机列表中。userb@10.124.84.29的密码:现在尝试使用“ssh‘userb@10.124.84.20’”登录机器并签入:.ssh/authorized_keys以确保我们没有添加您不期望的额外密钥。#查看serverA上usera的公钥文件的内容[usera@serverA~]$cat.ssh/id_rsa.pubssh-rsaAAAAB3NzaC1yc2EAAAABIwAAAQEA2dpxfvifkpswsbu...serverBserver:#查看userb下serverB的~/.ssh/authorized_keys文件[userb@serverB~]$cat.ssh/authorized_keysssh-rsaAAAAB3NzaC1yc2EAAAABIwAAAQEA2dpxfvifkpswsbu...#查看authorized_keys和id_rs不管a的权限是不是600,登录后都会生成一个known_hosts文件[useb@serverB~]$ls-la.sshtotal24drwx------。2usebuseb4096Jul2716:13.drwx------.35usebuseb4096Aug2409:18..-rw-------1usebuseb796Aug2409:24authorized_keys-rw-------1usebuseb1675Jul2716:09id_rsa-rw-r--r--1usebuseb397Jul2716:09id_rsa.pub-rw-r--r--1usebuseb1183Aug1113:57known_hostsserverAserver免密码登录serverBserver:[usera@serverA~]$sshuserb@10.124.84.20复制公钥的方法将公钥复制到目标服务器的~/.ssh/authorized_keys文件中。有以下几种方法:1.通过scp将公钥复制到目标服务器,然后追加到~/.ssh/authorized_keys文件中,比较麻烦。scp-P22~/.ssh/id_rsa.pubuser@host:~/.2.通过ssh-copy-id程序,也就是我演示的方法,ssh-copyiduser@host。3.你可以使用cat~/.ssh/id_rsa.pub|ssh-p22user@host'cat>>~/.ssh/authorized_keys',这个也是常用的方法,因为端口号是可以改的。