要在Ubuntu上使用SFTP和密钥登录,请按照以下步骤操作:
生成SSH密钥对(如果尚未生成): 在本地计算机上打开终端,然后输入以下命令以生成SSH密钥对:
ssh-keygen -t rsa -b 2048
按照提示操作,你可以选择自定义密钥的存储位置和设置密码短语。完成后,你将在~/.ssh目录下找到id_rsa(私钥)和id_rsa.pub(公钥)文件。
将公钥复制到远程服务器:
使用以下命令将公钥复制到远程服务器的~/.ssh/authorized_keys文件中:
ssh-copy-id user@remote_host
其中,user是远程服务器上的用户名,remote_host是远程服务器的IP地址或域名。按照提示操作,可能需要输入远程服务器的用户密码。
如果无法使用ssh-copy-id命令,你可以手动将公钥复制到远程服务器:
~/.ssh/id_rsa.pub文件,复制其内容。~/.ssh目录(如果尚不存在)并设置正确的权限:mkdir -p ~/.ssh
chmod 700 ~/.ssh
~/.ssh/authorized_keys文件,并将刚才复制的公钥内容粘贴到该文件中:echo "your_public_key" >> ~/.ssh/authorized_keys
其中,your_public_key是你刚才复制的公钥内容。authorized_keys文件的权限:chmod 600 ~/.ssh/authorized_keys
使用SFTP和密钥登录: 在本地计算机的终端中,使用以下命令通过SFTP和密钥登录到远程服务器:
sftp -i /path/to/your_private_key user@remote_host
其中,/path/to/your_private_key是你的私钥文件(例如~/.ssh/id_rsa)的路径,user是远程服务器上的用户名,remote_host是远程服务器的IP地址或域名。
现在,你应该已经成功地使用SFTP和密钥登录到了远程服务器。在此会话中进行的任何文件传输都将使用密钥认证,无需输入密码。