在linux系统中,通过sftp(ssh文件传输协议)进行文件传输时,可以通过设置ssh密钥认证来增强安全性。以下是详细的配置步骤:
首先,在客户端计算机上创建SSH密钥对。如果已有密钥对,可以跳过此步骤。
<code>ssh-keygen -t rsa -b 4096 -C "your_email@example.com"</code>
运行上述命令后,系统会要求你指定文件保存路径和设置密码短语(可选)。默认情况下,生成的密钥对将存储在~/.ssh/id_rsa(私钥)和~/.ssh/id_rsa.pub(公钥)。
接下来,将生成的公钥添加到服务器的~/.ssh/authorized_keys文件中。可以使用ssh-copy-id命令来实现此操作。
<code>ssh-copy-id user@server_ip</code>
运行上述命令后,系统会提示输入服务器用户的密码。成功执行后,公钥将被添加到服务器的authorized_keys文件中。
确保服务器的SSH配置文件/etc/ssh/sshd_config启用了密钥认证。编辑该文件:
<code>sudo nano /etc/ssh/sshd_config</code>
找到并确保以下配置项已被激活:
<code>PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys</code>
如果这些配置项被注释掉(以#开头),请删除注释并保存文件。
修改配置文件后,重启SSH服务以应用更改。
<code>sudo systemctl restart sshd</code>
现在,你可以使用SFTP通过密钥认证连接到服务器。
<code>sftp user@server_ip</code>
系统会提示输入密码短语(如果设置了的话)。成功连接后,你将进入SFTP命令行界面。
为了方便使用,可以在客户端的~/.ssh/config文件中添加服务器的配置。
<code>nano ~/.ssh/config</code>
添加以下内容:
<code>Host server_ip
HostName server_ip
User user
IdentityFile ~/.ssh/id_rsa</code>保存并退出编辑器。之后,你可以直接使用sftp server_ip命令连接到服务器,而无需每次都输入用户名和私钥路径。
通过上述步骤,你已经成功设置了Linux SFTP的SSH密钥认证。这不仅提高了文件传输的安全性,还减少了密码泄露的风险。

以上就是Linux SFTP如何配置SSH密钥认证的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号