centos

CentOS SSH如何使用密钥认证

小樊
81
2025-02-12 09:48:19
栏目: 智能运维

在CentOS上使用SSH密钥认证,可以提高系统安全性,避免使用密码登录

  1. 安装OpenSSH服务器:

    如果尚未安装OpenSSH服务器,请使用以下命令安装:

    sudo yum install openssh-server
    
  2. 创建SSH密钥对:

    在本地计算机上创建一个新的SSH密钥对。运行以下命令,然后按提示操作:

    ssh-keygen -t rsa -b 2048
    

    这将在~/.ssh目录下生成一个名为id_rsa的私钥文件和一个名为id_rsa.pub的公钥文件。

  3. 将公钥复制到服务器:

    使用ssh-copy-id命令将本地计算机的公钥复制到服务器的authorized_keys文件中。首先,通过SSH无密码登录到服务器:

    ssh root@your_server_ip
    

    然后,将公钥添加到authorized_keys文件:

    mkdir -p ~/.ssh
    chmod 700 ~/.ssh
    cat ~/.ssh/id_rsa.pub | ssh root@your_server_ip "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys"
    

    最后,退出服务器:

    exit
    
  4. 配置SSH服务器以禁用密码登录:

    编辑/etc/ssh/sshd_config文件,找到或添加以下行:

    PasswordAuthentication no
    

    保存文件并退出。然后,重启SSH服务以应用更改:

    sudo systemctl restart sshd
    
  5. 测试密钥认证:

    现在,尝试通过SSH密钥对登录到服务器。首先,在本地计算机上运行以下命令:

    ssh root@your_server_ip
    

    当提示输入密码时,使用私钥文件(~/.ssh/id_rsa)进行身份验证。如果一切正常,您将无需输入密码即可登录到服务器。

请注意,为了确保安全性,建议将私钥文件(~/.ssh/id_rsa)存储在安全的位置,并确保只有授权用户可以访问它。

0
看了该问题的人还看了