惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
SegmentFault 最新的问题
MongoDB | Blog
MongoDB | Blog
J
Java Code Geeks
Stack Overflow Blog
Stack Overflow Blog
The GitHub Blog
The GitHub Blog
博客园 - Franky
博客园 - 叶小钗
大猫的无限游戏
大猫的无限游戏
V
Visual Studio Blog
IT之家
IT之家
美团技术团队
博客园 - 司徒正美
Martin Fowler
Martin Fowler
Last Week in AI
Last Week in AI
酷 壳 – CoolShell
酷 壳 – CoolShell
Vercel News
Vercel News
雷峰网
雷峰网
B
Blog
WordPress大学
WordPress大学
aimingoo的专栏
aimingoo的专栏
D
Docker
P
Proofpoint News Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
爱范儿
爱范儿

Feel.name

Centos7安装sngrep – Feel.name DNS大全 – Feel.name Linux下转换文件编码 – Feel.name 升级到最新OpenSSH_9.3p1, OpenSSL 3.1.1 – Feel.name centos 7上创建sftp服务 – Feel.name linux清理缓存(cache) – Feel.name 通过yum来下载RPM包的方法 – Feel.name 年末守望新年期盼 – Feel.name message 日志里面的“Created slice User Slice of root.”日志去除方法 – Feel.name
Linux服务器密钥登陆方法 – Feel.name
Feel · 2023-10-16 · via Feel.name

Skip to content

一、生成密钥对

在Linux系统中,使用密钥进行登录需要生成一对公钥和私钥。可以使用ssh-keygen命令来生成密钥对。在终端中输入以下命令:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

其中,“-t”选项指定要使用的加密算法,“rsa”表示使用RSA算法;“-b”选项指定密钥的长度,4096位的长度足以保证安全性;“-C”选项是可选的,用于添加注释。

执行完命令后,系统会提示输入保存密钥的文件名和路径,以及对私钥设置的密码。设置密码可以提高私钥的安全性。

[root@feel-test ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory ‘/root/.ssh’.
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:3xxw3N6oPe1qz9R5Gqfj/BC2XJ7sw4qXxQ9Vv3WvTnA root@feel-test
The key’s randomart image is:
+—[RSA 2048]—-+
| |
| . . .|
| . o . o|
| o . o=|
| S o E.B|
| . o OoX=|
| . + %O| | .==&o| | ..=O*|
+—-[SHA256]—–+

二、将公钥复制到服务器上

生成密钥对后,需要将公钥复制到需要登录的服务器上。可以使用ssh-copy-id命令将公钥复制到服务器上。在终端中输入以下命令:

ssh-copy-id user@server_address

其中,“user”是服务器的用户名,“server_address”是服务器的IP地址或域名。

执行命令后,系统会提示输入服务器密码。输入正确的密码后,系统就会将公钥复制到服务器上,并将其添加到服务器的authorized_keys文件中。

[root@feel-test .ssh]# touch authorized_keys
[root@feel-test .ssh]# cat id_rsa.pub >> authorized_keys
[root@feel-test .ssh]# ls
authorized_keys id_rsa id_rsa.pub
[root@feel-test .ssh]# chmod 700 /root/.ssh
[root@feel-test .ssh]# chmod 600 /root/.ssh/authorized_keys

记住服务器的权限。

[root@feel-test .ssh]# vi /etc/ssh/sshd_config

PubkeyAuthentication yes

PasswordAuthentication no


[root@feel-test .ssh]# systemctl sshd restart

三、使用密钥登录

将公钥复制到服务器上后,就可以使用密钥进行登录了。在终端中输入以下命令:

ssh user@server_address

其中,“user”是服务器的用户名,“server_address”是服务器的IP地址或域名。

如果私钥设置了密码,系统会提示输入密码。输入正确的密码后,系统就会使用私钥进行身份验证,并成功登录到服务器。