如何在Linux中让普通用户实现无密码登录?
最编程
2024-08-03 14:25:06
...
Linux普通用户(非root用户)可以通过配置SSH免密码登录系统。下面是一些简单的步骤:
- 在客户端机器上生成密钥对:
ssh-keygen -t rsa
这将在用户主目录下的.ssh
目录中生成密钥对,其中包括公钥(id_rsa.pub
)和私钥(id_rsa
)。
- 将公钥复制到远程机器上的authorized_keys文件中:
ssh-copy-id username@remote_host
这会将公钥自动添加到远程机器的authorized_keys
文件中,如果没有该文件,则会自动创建。您需要输入远程主机的密码进行验证。
- 如果您不想使用
ssh-copy-id
命令,您也可以手动将公钥添加到远程机器的authorized_keys
文件中。打开终端并执行以下命令:
cat ~/.ssh/id_rsa.pub | ssh username@remote_host 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'
这会将公钥复制到远程机器的authorized_keys
文件中,如果没有该文件,则会自动创建。您需要输入远程主机的密码进行验证。
- 设置ssh的权限:
chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
这将设置ssh目录的权限为700,设置authorized_keys文件的权限为600。
现在您可以通过使用ssh username@remote_host
命令连接到远程机器而无需输入密码。但请注意,为了确保安全,请确保您的私钥文件的权限设置为600或更高,并将其保存在受保护的位置,以避免私钥泄漏。