在CentOS上使用SFTP进行公钥认证,可以按照以下步骤操作:
首先,在客户端机器上生成SSH密钥对。如果已经生成过,可以跳过此步骤。
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
按照提示操作,通常会生成两个文件:
id_rsa
:私钥id_rsa.pub
:公钥将生成的公钥(id_rsa.pub
)复制到服务器的~/.ssh/authorized_keys
文件中。
ssh-copy-id
命令ssh-copy-id user@server_ip
cat ~/.ssh/id_rsa.pub
ssh user@server_ip
.ssh
目录(如果不存在)并设置权限:mkdir -p ~/.ssh
chmod 700 ~/.ssh
authorized_keys
文件中:echo "your_public_key_content" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
确保SSH服务器配置允许公钥认证。
sudo vi /etc/ssh/sshd_config
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
sudo systemctl restart sshd
现在可以使用SFTP进行连接,无需输入密码。
sftp user@server_ip
确保连接时没有提示输入密码,说明公钥认证成功。
.ssh
目录和authorized_keys
文件的权限正确。通过以上步骤,你就可以在CentOS上成功配置并使用SFTP进行公钥认证了。