linux

Linux SFTP如何配置公钥认证

小樊
59
2025-05-14 08:14:05
栏目: 智能运维

在Linux系统中,使用SFTP进行公钥认证可以提供更安全的访问方式。以下是配置公钥认证的步骤:

1. 生成SSH密钥对

首先,在客户端机器上生成SSH密钥对(如果还没有的话)。

ssh-keygen -t rsa -b 4096

按照提示操作,通常会生成两个文件:

2. 将公钥复制到服务器

将生成的公钥复制到服务器的~/.ssh/authorized_keys文件中。

方法一:使用ssh-copy-id命令

ssh-copy-id user@server_ip

系统会提示输入服务器用户的密码,成功后会自动将公钥添加到服务器的authorized_keys文件中。

方法二:手动复制

  1. 在客户端机器上查看公钥内容:

    cat ~/.ssh/id_rsa.pub
    
  2. 登录到服务器,创建.ssh目录(如果不存在)并设置正确的权限:

    mkdir -p ~/.ssh
    chmod 700 ~/.ssh
    
  3. 将公钥内容追加到服务器的authorized_keys文件中:

    echo "your_public_key_content" >> ~/.ssh/authorized_keys
    
  4. 设置authorized_keys文件的权限:

    chmod 600 ~/.ssh/authorized_keys
    

3. 配置SSH服务器

确保SSH服务器允许使用公钥认证。

编辑服务器上的/etc/ssh/sshd_config文件:

sudo nano /etc/ssh/sshd_config

找到并修改以下配置项:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

保存并退出编辑器,然后重启SSH服务:

sudo systemctl restart sshd

4. 测试SFTP连接

现在,你可以使用SFTP进行连接,无需输入密码。

sftp user@server_ip

如果一切配置正确,你应该能够成功登录并进行文件传输。

注意事项

通过以上步骤,你应该能够成功配置Linux SFTP的公钥认证。

0
看了该问题的人还看了