在CentOS系统中,要实现SFTP自动登录,您需要使用密钥对认证。以下是设置自动登录的步骤:
ssh-keygen -t rsa
按照提示操作,可以选择自定义密钥文件名和设置密码短语。
ssh-copy-id user@server_ip
其中,user是服务器上的用户名,server_ip是服务器的IP地址。执行此命令后,您可能需要输入服务器用户的密码。
/etc/ssh/sshd_config文件:sudo vi /etc/ssh/sshd_config
找到以下行并确保它们已启用(删除或注释掉前面的#):
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
如果需要,您还可以设置允许使用密钥认证的用户组:
Match Group sftp_users
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
然后创建一个名为sftp_users的用户组,并将允许SFTP访问的用户添加到该组:
sudo groupadd sftp_users
sudo usermod -a -G sftp_users your_username
将your_username替换为您要允许SFTP访问的用户名。
sudo systemctl restart sshd
现在,您应该可以使用密钥对自动登录SFTP了。在客户端上,使用以下命令连接到服务器:
sftp -i /path/to/your_private_key user@server_ip
将/path/to/your_private_key替换为您的私钥文件路径,user是服务器上的用户名,server_ip是服务器的IP地址。如果一切正常,您应该可以无需输入密码即可登录。