在Linux上使用SSH服务器进行公钥认证,可以提高安全性并简化登录过程
安装OpenSSH服务器: 对于大多数Linux发行版,OpenSSH服务器已经预装。如果尚未安装,请使用以下命令之一进行安装:
对于Debian/Ubuntu系统:
sudo apt-get update
sudo apt-get install openssh-server
对于CentOS/RHEL系统:
sudo yum install openssh-server
创建SSH密钥对(如果尚未创建): 在客户端计算机上,打开终端并运行以下命令以生成SSH密钥对:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
按照提示操作,可以选择自定义密钥文件的保存位置和设置密码保护。
将公钥复制到SSH服务器:
在客户端计算机上,使用以下命令将公钥复制到SSH服务器的~/.ssh/authorized_keys
文件中:
ssh-copy-id user@server_ip
其中,user
是服务器上的用户名,server_ip
是服务器的IP地址。输入服务器上用户的密码以完成操作。
配置SSH服务器:
编辑服务器上的/etc/ssh/sshd_config
文件,确保以下设置已启用(删除或注释掉前面的“#”):
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
这将允许使用公钥认证并禁用密码认证。
重启SSH服务: 在服务器上,运行以下命令以重启SSH服务:
sudo systemctl restart sshd
或者,对于较旧的系统:
sudo service ssh restart
测试公钥认证: 尝试从客户端计算机登录到服务器,使用以下命令:
ssh user@server_ip
如果一切正常,您将无需输入密码即可登录到服务器。
现在,您已经成功在Linux上设置了SSH服务器以使用公钥认证。