📅  最后修改于: 2023-12-03 15:09:45.961000             🧑  作者: Mango
在使用SSH协议进行文件传输时,通常会使用SFTP(Secure File Transfer Protocol)来代替FTP。SFTP可以加密数据传输,确保数据的安全性。同时SFTP还可以使用私钥进行身份验证,不需要输入密码,更加方便快捷。
本文将介绍如何使用带有私钥的SFTP进行文件传输。
首先需要生成密钥对,可以运行以下命令:
ssh-keygen -t rsa
根据提示输入文件名,在默认情况下会在用户的~/.ssh/
目录中生成公钥和私钥文件,默认文件名分别为id_rsa
和id_rsa.pub
。在生成文件时可以选择不使用密码,这样在使用私钥进行验证时就不需要输入密码了。
将公钥上传到服务器,可以使用以下命令:
ssh-copy-id user@host
其中,user
为服务器的用户名,host
为服务器的IP地址或域名。输入登录密码后,会将公钥上传到服务器的~/.ssh/authorized_keys
文件中。下次连接时,使用私钥即可免密码登录。
使用SFTP传输文件需要安装SFTP客户端,可以使用以下命令安装:
sudo apt install openssh-client
可以直接使用sftp
命令登录SFTP服务器:
sftp user@host
其中,user
和host
分别为服务器的用户名和IP地址或域名。
登录后,可以使用以下命令进行操作:
ls
:列出当前目录下的文件列表;cd path
:切换到指定目录;get file
:从远程服务器下载文件;put file
:上传文件到远程服务器;在登录SFTP时使用私钥进行身份验证,需要在命令后添加私钥文件的路径,例如:
sftp -i /path/to/private_key user@host
其中,/path/to/private_key
为私钥文件的路径。
登录后,使用的命令和使用密码登录时一样,区别在于使用私钥进行身份验证。
使用带有私钥的SFTP进行文件传输可以免去输入密码的繁琐,并且可以确保数据的安全性。本文介绍了如何生成密钥对、上传公钥、安装SFTP客户端以及使用密码和私钥登录SFTP。通过本文的介绍,您应该已经掌握了如何使用带有私钥的SFTP进行文件传输。