SSH连接Ubuntu,配置免密后,仍提示需要输入密码怎么办

时间:2021-06-24 14:27:43

有些时候,我们在用SSH连接PC和虚拟机时候需要进行文件共享来提高工作效率,因为它比较安全。但如果每次 

都要输入密码,就本末倒置了。一般来说,通过修改虚拟机上的/etc/ssh/sshd.config中的#PermitRootLogin no为yes,可以实现免密登录。除此之外,ssh还有另一种利用密钥对进行相互验证的方式

当生成密匙对之后,在登录的过程中发现仍然需要输入密码,一般来说是密钥对的文件权限问题:不止authorized_keys需要修改文件权限,.ssh文件夹的权限也需要修改。而且,如果配置已经完成了,再回头修改文件权限似乎也不能成功。下面介绍实现免密码登录的具体操作步骤:

(注:操作系统为Ubuntu16.04,且均在root权限下进行)

1. 首先安装SSH

SSH连接Ubuntu,配置免密后,仍提示需要输入密码怎么办apt-get install openssh-server


2. 在根目录下创建.ssh文件,并将文件权限改为700,即可读写与执行.

cd ~

mkdir .ssh

chmod 700 .ssh

SSH连接Ubuntu,配置免密后,仍提示需要输入密码怎么办


3. 生成密钥文件(一路回车即可);生成的密钥文件就保存在.ssh文件夹下。

SSH连接Ubuntu,配置免密后,仍提示需要输入密码怎么办ssh-keygen -t rsa

SSH连接Ubuntu,配置免密后,仍提示需要输入密码怎么办


4. 进入密钥对配置文件目录,配置单机回环SSH免密码登录:将公钥id_rsa.pub复制一份,重命名为authorized_keys,并将authorized_keys文件权限改为600,即可读写.

cd .ssh/

cp id_rsa.pub authorized_keys

chmod 600 authorized_keys

SSH连接Ubuntu,配置免密后,仍提示需要输入密码怎么办


5. 使用ssh localhost命令检查是否可以免密登录本机。

ssh localhost

SSH连接Ubuntu,配置免密后,仍提示需要输入密码怎么办


SSH连接Ubuntu,配置免密后,仍提示需要输入密码怎么办第一次登录的时候需要确认是否连接,输入yes,以后将不再需要输入。 现在我们并不需要输入密码就已经登录成功了。



PS:需要注意的是以上的权限配置数值不是固定的,一般来说公钥.ssh的权限更小即可。