标题Linux下使用2个命令即可快速实现ssh免密登录新增key.pem方式免密登陆!!!
验证测试:
假设环境中存在两台设备
设备 | IP | 类型 | OS |
---|---|---|---|
A | 192.168.12.11 | 主控 | centos7.4 |
B | 192.168.12.12 | 从控 | centos7.4 |
实现主控A能够免密访问与登录从控B
- 在主控A上生成用于身份认证的(authentication) 私钥和公钥以 rsa 类型为例:
[root@A ~]# ssh-keygen -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:
SHA256:UKybr3kCt7ElnGhAOQTRyKw7x0I9EXO6x2dLPd+YYa0 root@etcd
The key's randomart image is:
#以下会生成密钥信息
- 快速实现免密访问只需ssh-copy-id命令即可:
#注意!只需要将A设备的公钥发送给B设备即可。私钥自己一定要保留好!
[root@A ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.12.12
password:
#第一次登录需要使用B机器的密码
3.验证
[root@A ~]# sshroot@192.168.12.12
#无需输入root账户密码,登录从控B成功
SSH基于key.pem的免密登陆方式实现
通过openssl 生成私钥:
openssl genrsa -out key.pem 2048 (#2048位密钥的长度,不宜太短,太短不安全。此时深城的密钥没有使用加密规则,使用此登陆时无需密码)
openssl genrsa -des3 -out key.pem 2048
(#这个命令会生成一个2048位的密钥,同时有一个des3方法加密的密码。生成的为私钥)
登陆时使用以下方式:
ssh Username@HOST -p Port -i key.pem 既可免密登陆的那台主机。
基于私钥生成公钥
openssl rsa -in key.pem -pubout -out pubkey.pem (#此次不涉及)
后记:
使用ssh-copy-id 命令实现快速将.pub公钥拷贝到从机并在想用的用户目录的/$user/.ssh/目录生成authorized_keys文件。
快!准!相对于使用ssh传递.pub文件,然后再创建authorized_key文件,然后涉及需要调整文件权限等一系列操作步骤!不但繁琐,而且大大增加了出错率。偶尔还需要修改/etc/ssh/sshd_config文件来设置相关的配置信息。
所以以上步骤对于实现ssh免密登录比较快!准!狠!
欢迎l大家一起学习交流并指正