SFTP(SSH File Transfer Protocol)是一种通过SSH加密实现文件传输的协议。使用密钥认证可以提高安全性,避免每次连接时输入密码。以下是使用密钥认证进行SFTP连接的步骤:
在本地机器上生成密钥对: 打开终端或命令提示符,运行以下命令:
ssh-keygen -t rsa -b 4096
这将生成一个RSA密钥对,通常保存在~/.ssh/id_rsa
(私钥)和~/.ssh/id_rsa.pub
(公钥)。
保护私钥: 可以设置一个密码短语来保护私钥,增加安全性。
使用ssh-copy-id
命令:
ssh-copy-id user@remote_host
这将提示你输入远程服务器的用户密码,并将你的公钥添加到远程服务器的~/.ssh/authorized_keys
文件中。
手动复制公钥:
如果ssh-copy-id
不可用,可以手动复制公钥:
~/.ssh/id_rsa.pub
文件,复制其内容。~/.ssh/authorized_keys
文件:nano ~/.ssh/authorized_keys
连接到远程服务器: 使用以下命令进行SFTP连接:
sftp -i /path/to/private_key user@remote_host
其中,/path/to/private_key
是你的私钥文件的路径。
验证连接: 如果一切配置正确,你应该能够成功连接到远程服务器并进行文件传输。
/etc/ssh/sshd_config
文件中的以下设置:PubkeyAuthentication yes
~/.ssh
目录和authorized_keys
文件的权限正确:chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
通过以上步骤,你可以使用密钥认证安全地进行SFTP连接。