centos

CentOS SFTP配置中如何设置自动登录

小樊
69
2025-04-20 19:15:56
栏目: 智能运维

在CentOS系统中,要实现SFTP自动登录,您需要使用密钥对认证。以下是设置自动登录的步骤:

  1. 首先,确保您已经在客户端生成了一个SSH密钥对(公钥和私钥)。如果没有,请使用以下命令生成:
ssh-keygen -t rsa

按照提示操作,可以选择自定义密钥文件名和设置密码短语。

  1. 将客户端的公钥复制到服务器的authorized_keys文件中。您可以使用以下命令将公钥追加到服务器的authorized_keys文件中:
ssh-copy-id user@server_ip

其中,user是服务器上的用户名,server_ip是服务器的IP地址。执行此命令后,您可能需要输入服务器用户的密码。

  1. 确保服务器上的SSH配置允许密钥认证。编辑服务器上的/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访问的用户名。

  1. 重启SSH服务以应用更改:
sudo systemctl restart sshd

现在,您应该可以使用密钥对自动登录SFTP了。在客户端上,使用以下命令连接到服务器:

sftp -i /path/to/your_private_key user@server_ip

/path/to/your_private_key替换为您的私钥文件路径,user是服务器上的用户名,server_ip是服务器的IP地址。如果一切正常,您应该可以无需输入密码即可登录。

0
看了该问题的人还看了