Linux配置SSH免密登录
Posted Xavier Jiezou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux配置SSH免密登录相关的知识,希望对你有一定的参考价值。
简介
每次在本地计算机上通过 SSH 远程连接 Linux 服务器的时候都需要输入密码,非常繁琐,今天教大家如何配置免密登录。
教程
- 在本地通过 RSA 加密算法生成公私钥对
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_test
t
:指定加密类型b
:指定加密字长f
:指定保存路径
$ ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_blog
Generating public/private rsa key pair.
Enter file in which to save the key (C:\\Users\\87897/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\\Users\\87897/.ssh/id_rsa.
Your public key has been saved in C:\\Users\\87897/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:uV8DJX7MT9dAGBUdVDtIkidM4ULSCXOyfMK8Z+S4RXY 87897@ZXC-LAPTOP
The key's randomart image is:
+---[RSA 4096]----+
| =oo+++===+|
| + Bo.++o. o|
| * *.E+..o |
| Xoo= .o|
| oS=o + . o|
| =. o o . |
| .. o . |
| . . . |
| . |
+----[SHA256]-----+
- 从本地拷贝公钥(后缀为
.pub
的文件 )到 Linux 服务器(SCP 远程文件传输教程:点击跳转)
scp -P 22 ~/.ssh/id_rsa_test.pub user@host:~/.ssh/
- 在远程 Linux 服务器中追加公钥到文件
authorized_keys
中
cat id_rsa_test.pub >> authorized_keys
- 在本地 ssh 配置文件
~/.ssh/config
中添加如下配置信息
Host host
HostName host
User user
IdentityFile ~/.ssh/id_rsa_test
Host
:远程服务器的 IP 地址HostName
:远程服务器的 IP 地址User
:远程服务器的用户名称IdentityFile
:本地私钥保存路径
注意
远程 Linux 服务器必须开启公钥密码验证和 RSA 加密验证,允许免密登录,并确保加密验证文件正确。
- 首先,查看 SSH 配置文件
sudo cat /etc/ssh/sshd_config
- 可以看到公钥密码验证和 RSA 加密验证都是
yes
,加密验证文件是.ssh/authorized_keys
PubkeyAuthentication yes
RSAAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
- 如若不然,请联系管理员修改配置文件
sudo vi /etc/ssh/sshd_config
参考
插画
【画师】防人 【P站ID】79919440以上是关于Linux配置SSH免密登录的主要内容,如果未能解决你的问题,请参考以下文章