在Linux中,使用SSH服务器进行密钥认证可以提高安全性,因为它消除了对密码的依赖
安装OpenSSH服务器: 对于大多数Linux发行版,OpenSSH服务器已经预装。如果没有,请使用以下命令安装:
sudo apt-get install openssh-server (Debian/Ubuntu)
sudo yum install openssh-server (CentOS/RHEL)
创建SSH密钥对: 在客户端计算机上,打开终端并运行以下命令以创建一个新的SSH密钥对:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
按照提示操作,你可以选择自定义密钥文件的保存位置和设置密码保护。
将公钥复制到SSH服务器:
在客户端计算机上,将公钥(默认为~/.ssh/id_rsa.pub
)复制到SSH服务器的~/.ssh/authorized_keys
文件中。你可以使用以下命令将公钥追加到远程服务器的授权密钥文件中:
ssh-copy-id user@ssh_server_ip
其中user
是服务器上的用户名,ssh_server_ip
是服务器的IP地址。在提示时输入服务器密码。
配置SSH服务器:
编辑服务器上的/etc/ssh/sshd_config
文件,确保以下设置已启用(删除或注释掉前面的#
):
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
这将允许使用密钥认证而不是密码认证。
重启SSH服务: 保存更改后,重启SSH服务以应用新的配置:
sudo systemctl restart ssh
现在,当客户端尝试通过SSH连接到服务器时,它将使用密钥认证。如果密钥认证失败,客户端将收到一条错误消息,要求输入用户名。