Linux系统ssh远程免密登录
在Linux运行过程中,有些特殊情况需要让不同Linux主机之间进行SSH免密登录,直观来看是免密登录,确切的说是通过秘钥验证登录。
一、实现原理
如A主机需要远程免密登录到B主机,那么需要在A主机上面通过工具生成秘钥对,即公钥和私钥。私钥用来解密,放置在A主机本地,公钥用来加密,放置在远端B主机。
二、示例
1、生成秘钥对
- 在A主机执行命令ssh-keygen -b 1024 -t rsa,无需更改参数,直接按几次回车即可。
[ ~]# ssh-keygen -b 1024 -t rsa 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 same passphrase again: 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: b3:9d:90:f8:60:66:45:72:c1:2f:8f:ea:32:80:b6:4c The key‘s randomart image is: +--[ RSA 1024]----+ | ..+. | | +. | | .. | | o... | | . * S+ | |.E. + o.=.. | |+ .. .o o | | o o . | | +. | +-----------------+
- 参数说明:
-t [rsa|dsa] 指定要创建的密钥类型。可以使用:"rsa1"(SSH-1) "rsa"(SSH-2) "dsa"(SSH-2),我们选的rsa
-b 1024 指定密钥长度。对于RSA密钥,最小要求768位,默认是2048位。DSA密钥必须恰好是1024位(FIPS 186-2 标准的要求)。
- 此操作会在/root/.ssh/目录下产生一对秘钥,id_rsa为私钥,id_rsa.pub为公钥文件,另外known_hosts是A主机已经登录过的远端ssh主机的地址记录,某些情况下,我们通过清空此文件的方式解决登录失败的问题。
2、复制公钥文件
将id_rsa.pub该文件内容复制出来,粘贴到远端B主机/root/.ssh/authorized_keys文件中,默认authorized_keys文件并不存在,手动创建即可。
3、测试
无需输入密码即可登录
4、说明
此测试存在限制条件,被登录主机的ssh配置需要开启远程访问权限。
相关推荐
hulao 2020-06-12
projava 2020-11-14
WanKaShing 2020-11-12
airfish000 2020-09-11
tryfind 2020-09-14
yegen00 2020-09-10
kkaazz 2020-09-03
风语者 2020-09-02
BraveWangDev 2020-08-19
lichuanlong00 2020-08-15
gsl 2020-08-15
pandaphinex 2020-08-09
yhuihon 2020-08-09
CheNorton 2020-08-02
xiangqiao 2020-07-28
hpujsj 2020-07-26
hpujsj 2020-07-26
sshong 2020-07-19
BraveWangDev 2020-07-19