温馨提示×

linux ssh服务器怎样进行密钥认证

小樊
81
2024-12-10 08:45:43
栏目: 云计算

在Linux中,使用SSH服务器进行密钥认证可以提高安全性,因为它消除了对密码的依赖

  1. 安装OpenSSH服务器: 对于大多数Linux发行版,OpenSSH服务器已经预装。如果没有,请使用以下命令安装:

    sudo apt-get install openssh-server (Debian/Ubuntu)
    sudo yum install openssh-server (CentOS/RHEL)
    
  2. 创建SSH密钥对: 在客户端计算机上,打开终端并运行以下命令以创建一个新的SSH密钥对:

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

    按照提示操作,你可以选择自定义密钥文件的保存位置和设置密码保护。

  3. 将公钥复制到SSH服务器: 在客户端计算机上,将公钥(默认为~/.ssh/id_rsa.pub)复制到SSH服务器的~/.ssh/authorized_keys文件中。你可以使用以下命令将公钥追加到远程服务器的授权密钥文件中:

    ssh-copy-id user@ssh_server_ip
    

    其中user是服务器上的用户名,ssh_server_ip是服务器的IP地址。在提示时输入服务器密码。

  4. 配置SSH服务器: 编辑服务器上的/etc/ssh/sshd_config文件,确保以下设置已启用(删除或注释掉前面的#):

    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys
    PasswordAuthentication no
    

    这将允许使用密钥认证而不是密码认证。

  5. 重启SSH服务: 保存更改后,重启SSH服务以应用新的配置:

    sudo systemctl restart ssh
    

现在,当客户端尝试通过SSH连接到服务器时,它将使用密钥认证。如果密钥认证失败,客户端将收到一条错误消息,要求输入用户名。

0