您的位置:

Linux免密码登录设置方法与步骤

一、生成SSH公匙和私匙

首先,我们需要在本地生成SSH公匙和私匙。

在终端中输入以下命令:

ssh-keygen -t rsa

按照提示输入密钥保存的文件名和密码,或者直接按回车键使用默认值。命令执行完毕后,终端中会显示SSH公匙和私匙的路径。

生成SSH公匙和私匙的目的在于将SSH公匙存储到需要连接的服务器上,以便在连接服务器时进行验证。

二、将SSH公匙存储到远程服务器上

将本地生成的SSH公匙存储到需要连接的服务器上需要使用SSH的文件传输功能。在终端中输入以下命令:

ssh-copy-id username@remote_host

其中,username为连接远程主机的用户名,remote_host为远程主机的IP地址或者域名。

运行命令后,系统会提示输入远程主机的密码。输入密码后,系统会将本地电脑上生成的SSH公匙复制到远程主机的~/.ssh/authorized_keys目录下。

三、测试SSH免密登录是否成功

在终端中输入以下命令:

ssh username@remote_host

如果SSH免密登录设置成功,则会直接登录到远程主机上的终端界面。

四、如果SSH免密登录未成功,可以尝试以下方法

1、检查本地电脑上的SSH公匙和私匙是否生成成功,以及存储的路径是否正确。

2、检查远程主机的~/.ssh目录是否存在,以及对应的authorized_keys文件是否存在。

3、如果authorized_keys文件已经存在,则检查文件权限是否正确,需要具备读写权限,否则需要执行以下命令更改权限:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

4、如果以上步骤都没有问题,可以尝试修改SSH服务的配置文件。在终端中输入以下命令打开SSH配置文件:

sudo nano /etc/ssh/sshd_config

将以下两行的注释符号#去掉:

PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys .ssh/authorized_keys2

保存文件并退出,执行以下命令重启SSH服务:

sudo service ssh restart

重启完毕后,再次测试SSH免密登录是否成功。