SSH密钥登录
SSH密钥登录
1. 首先在服务器中创建密钥对
[root@localhost .ssh]# 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:+LTzDddLCyrFVb9bHRMnOssHgOGJbffji/NV5/hPAEA root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
| .+E |
| +.... o..|
| . = ...o oo|
| o . .=. o.|
| . S. oo+. B|
| o .o.oo.*+|
| +.. +.= =|
| .o.* = * |
| .+o+ o +|
+----[SHA256]-----+
在创建的过程中会提示输入密码,在次不用输入,直接回车即可,创建的密钥对默认放当前登录用户的家目录下的.ssh目录中。
2. 在服务器中安装公钥
[root@localhost .ssh]# cat id_rsa.pub >> authorized_keys
[root@localhost .ssh]# ls
authorized_keys id_rsa id_rsa.pub
注:此处特别要注意文件名称不能错误(包括大小写), 存放公钥的文件名为: authorized_keys。多个用户多需要登录linux,每个用户都需要密钥,则可以只用上面的追加命令直接将多个用户的公钥直接追加进去即可。
3. 设置文件权限
[root@localhost .ssh]# chmod 600 authorized_keys
[root@localhost .ssh]# chmod 700 ~/.ssh
4. 设置ssh的配置文件
[root@localhost .ssh]# vim /etc/ssh/sshd_config
修改如下的配置:
# 加密算法
RSAAuthentication yes
# 使用密钥进行认证
PubkeyAuthentication yes
5. 重启ssh服务
[root@localhost .ssh]# systemctl restart sshd
6. 拷贝私钥到PC端(注意:是私钥 id_rsa),使用软件导入秘钥,然后测试登录
xshell配置如下:
bitvise配置:
点击出现如下图: