1.生成密钥对;2.上传公钥至服务器;3.关闭密码登录等安全加固措施;4.配置多密钥管理。要使用密钥登录linux服务器,首先在本地运行ssh-keygen生成公钥和私钥,接着用ssh-copy-id或手动方式将公钥添加到服务器的authorized_keys文件,成功登录后编辑sshd_config关闭passwordauthentication等选项以提升安全性,最后可通过配置~/.ssh/config文件实现多个密钥的自动匹配管理,确保权限设置正确并参考日志排查问题。

想用密钥登录Linux服务器,主要是为了安全又方便。密码容易被猜,密钥更难破解,还能免去每次输密码的麻烦。只要设置一次,之后就能自动登录。

你要在本地电脑上生成一对密钥——一个公钥、一个私钥。公钥可以给别人,私钥必须自己留着,不能泄露。

运行下面这条命令就可以:
ssh-keygen -t rsa -b 4096
系统会让你选保存路径,默认是 ~/.ssh/id_rsa,直接回车就行。然后会提示你输入密码(passphrase),这个不是必须的,但加上会更安全。

完成后会在 .ssh 目录下看到两个文件:id_rsa 是私钥,id_rsa.pub 是公钥。
小贴士:如果你已经有密钥了,可以跳过这步。比如你在 GitHub 或其他服务里用过的 SSH 密钥,也可以复用。
接下来要把你的公钥上传到服务器上,这样服务器就知道允许哪些密钥登录。
最简单的方法是使用 ssh-copy-id 命令:
ssh-copy-id user@your_server_ip
它会把本地的公钥添加到服务器上的 ~/.ssh/authorized_keys 文件里。
如果没有这个命令,也可以手动复制内容,粘贴到服务器上的对应文件中:
cat ~/.ssh/id_rsa.pub | ssh user@your_server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
执行完后测试一下能不能免密登录:
小麦企业网站展示系统介绍:一、安装使用将xiaomai.sql导入数据库二、后台登录后台帐号,密码默认都是admin,config.php 配置文件可根据自行需要修改,IP地址,数据库用户名,密码,及表名后台目录默认admin,支持自行任意修改目录名三、注意事项1 本源码完全免费,采用伪静态,减少不必要的源码重复,速度更快,支持二次开发。2、注明本程序编码为UTF8,如发生乱码,请注意修改编码3、
2
ssh user@your_server_ip
如果没让你输密码就进去了,说明成功了。
虽然现在可以用密钥登录了,但默认的SSH配置还允许密码登录,这意味着黑客可能还在尝试暴力破解。所以最好关掉密码登录。
编辑服务器上的SSH配置文件(通常在 /etc/ssh/sshd_config),找到这几个选项并改成这样:
PasswordAuthentication no —— 关闭密码登录PermitRootLogin no —— 不允许root直接登录ChallengeResponseAuthentication no —— 关闭交互式认证UsePAM no —— 如果不需要PAM模块的话可以关掉改完重启SSH服务:
sudo systemctl restart sshd
注意:改之前确保你能用密钥登录,否则可能把自己关在外面了。
有时候你会有多个服务器或多个账号,每个用不同的密钥。这时候可以用 ~/.ssh/config 文件来指定不同主机使用的密钥。
比如这样写:
Host server1
HostName 192.168.1.10
User user1
IdentityFile ~/.ssh/id_rsa_server1
Host server2
HostName 192.168.1.11
User user2
IdentityFile ~/.ssh/id_rsa_server2这样你只需要敲 ssh server1,系统就会自动用对应的密钥登录。
基本上就这些。整个过程不复杂,但有几个关键点容易忽略,比如权限问题、目录结构是否正确、密钥有没有加载等。遇到问题时可以看日志文件 /var/log/auth.log,里面会有线索。
以上就是如何配置Linux用户密钥登录 SSH免密登录安全设置的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号