宝塔面板是一种流行的服务器管理工具,提供了多种安全配置选项,包括SSH密钥登录,确保已为服务器上的SSH服务生成密钥对(公钥和私钥),在宝塔面板中,选择【软件商店】,搜索并安装适用于您的服务器的操作系统的SSH密钥登录插件,通过SSH客户端连接到服务器,运行相关命令以设置免密登录,更新本地sshconfig文件以允许使用密钥对进行身份验证,并保存设置。
在现代网络管理中,远程服务器的访问和控制变得至关重要,SSH(Secure Shell)作为一种安全的远程登录协议,被广泛应用于各种场景中,传统的密码登录方式存在易被盗用的风险,配置SSH密钥登录成为更加安全的选择,本文将详细介绍如何在宝塔面板中配置SSH密钥登录,确保您的服务器安全。
准备工作
在开始配置之前,请确保您已经安装了宝塔面板,并且服务器已经开启了SSH服务,如果没有,请先进行相应的安装和启动操作。
您还需要准备一台密钥对(公钥和私钥),并将公钥添加到服务器的~/.ssh/authorized_keys文件中。
生成SSH密钥对
-
打开终端:在本地计算机上打开一个终端窗口。
-
生成SSH密钥对:
-
使用以下命令生成一个新的SSH密钥对(如果已经存在,则跳过此步骤):
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
-
按照提示操作,当提示输入文件名时,可以直接按回车键使用默认值,或者自定义一个文件名。
-
当生成的密钥对完成后,会在当前目录下生成两个文件:
id_rsa(私钥)和id_rsa.pub(公钥)。
配置服务器端的SSH
- 将公钥添加到服务器:
-
使用以下命令将公钥内容复制到服务器的
~/.ssh/authorized_keys文件中:cat ~/.ssh/id_rsa.pub | ssh user@your_server_ip "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
-
user是服务器上的用户名,your_server_ip是服务器的IP地址,如果使用的是非标准SSH端口,请在命令末尾加上端口号,如ssh user@your_server_ip:2222 "command"。
- 修改
sshd_config文件:
-
在服务器上编辑
/etc/ssh/sshd_config文件,确保以下配置项已经设置:PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication no
-
如果对
sshd_config文件进行了修改,请重启SSH服务以使更改生效:sudo service ssh restart
配置宝塔面板的SSH访问
-
登录宝塔面板:在本地计算机上打开宝塔面板并登录。
-
添加SSH用户:
-
在宝塔面板的左侧菜单栏中,点击“软件商店”,然后找到并点击“终端”。
-
在终端页面中,点击右上角的“+”按钮添加一个新的SSH用户。
-
填写用户名、密码等信息,并确保用户属于
root组。
- 配置用户权限:
-
点击“设置”按钮,然后在弹出的窗口中设置用户的SSH访问权限。
-
将用户添加到
wheel组,并允许该组成员执行sudo命令。
验证SSH密钥登录
完成上述配置后,您可以从本地计算机尝试通过SSH密钥登录到服务器:
ssh -i ~/.ssh/id_rsa root@your_server_ip
当提示输入密码时,请直接按回车键忽略,因为您没有配置密码登录。
如果一切正常,您应该能够成功登录到服务器,并看到类似以下的输出:
Welcome to your Server! Last login: Mon Sep 26 12:34:56 2023 from 192.168.1.1 $
至此,您已经成功配置了宝塔面板的SSH密钥登录,请注意保管好私钥文件,并定期更换密钥对以提高安全性。


还没有评论,来说两句吧...