ubuntu

Ubuntu SFTP如何使用SSH密钥认证

小樊
57
2025-03-29 06:49:59
栏目: 智能运维

在Ubuntu上使用SFTP和SSH密钥认证可以提供更安全的文件传输方式。以下是设置和使用SSH密钥认证的步骤:

1. 生成SSH密钥对

如果你还没有SSH密钥对,可以使用以下命令生成:

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

按照提示操作,通常会生成两个文件:id_rsa(私钥)和id_rsa.pub(公钥)。

2. 将公钥复制到远程服务器

使用ssh-copy-id命令将公钥复制到远程服务器的~/.ssh/authorized_keys文件中:

ssh-copy-id user@remote_host

其中,user是远程服务器的用户名,remote_host是远程服务器的地址。

3. 配置SSH客户端

编辑或创建~/.ssh/config文件,添加以下内容以配置SSH客户端使用密钥认证:

Host remote_host
    HostName remote_host
    User user
    IdentityFile ~/.ssh/id_rsa

remote_host替换为实际的远程服务器地址,user替换为实际的用户名。

4. 测试SFTP连接

使用以下命令测试SFTP连接:

sftp user@remote_host

如果一切配置正确,你应该能够成功连接到远程服务器并开始使用SFTP。

5. 配置SSH服务器(可选)

为了进一步提高安全性,可以在远程服务器上配置SSH服务器以禁用密码认证。编辑远程服务器上的/etc/ssh/sshd_config文件,添加或修改以下内容:

PubkeyAuthentication yes
PasswordAuthentication no

然后重启SSH服务以应用更改:

sudo systemctl restart sshd

6. 防火墙设置(可选)

确保远程服务器上的防火墙允许SSH连接。例如,使用ufw时,可以运行以下命令:

sudo ufw allow ssh

通过以上步骤,你应该能够在Ubuntu上成功配置和使用SFTP和SSH密钥认证。

0
看了该问题的人还看了