debian

Debian SFTP配置中如何启用公钥认证

小樊
45
2025-05-31 14:35:24
栏目: 智能运维

在Debian系统中,要启用SFTP的公钥认证,你需要按照以下步骤操作:

  1. 生成SSH密钥对(如果你还没有的话): 在客户端机器上,使用ssh-keygen命令生成SSH密钥对。通常,你会生成一个RSA密钥对:

    ssh-keygen -t rsa -b 4096
    

    按照提示操作,你可以选择密钥的保存位置和设置密码。

  2. 将公钥复制到服务器: 使用ssh-copy-id命令将公钥复制到Debian服务器的~/.ssh/authorized_keys文件中。你需要知道服务器的用户名和IP地址:

    ssh-copy-id user@server_ip
    

    替换user为你的用户名,server_ip为你的服务器IP地址。系统会提示你输入用户的密码。

  3. 配置SSH服务器: 登录到你的Debian服务器,编辑SSH配置文件/etc/ssh/sshd_config

    sudo nano /etc/ssh/sshd_config
    

    在文件中找到以下行(如果找不到,可以添加):

    PubkeyAuthentication yes
    

    确保这一行没有被注释掉(没有#符号在前)。

    你还可以添加或修改以下行来增强安全性:

    PasswordAuthentication no
    ChallengeResponseAuthentication no
    UsePAM no
    

    这些设置将禁用密码认证,只允许公钥认证,并关闭PAM(可插拔认证模块)。

  4. 重启SSH服务: 保存并退出编辑器后,重启SSH服务以应用更改:

    sudo systemctl restart ssh
    

    或者,如果你使用的是SysVinit系统:

    sudo service ssh restart
    
  5. 测试SFTP连接: 从客户端机器尝试使用SFTP连接到服务器:

    sftp user@server_ip
    

    如果一切配置正确,你应该能够不使用密码登录。

请注意,这些步骤假设你有对服务器的root权限或者sudo权限来修改SSH配置文件和重启SSH服务。如果你没有这些权限,你需要联系服务器管理员来帮助你完成这些步骤。

0
看了该问题的人还看了