Linux基于客户端用户密钥登录服务端用户
1、准备两台虚拟机建立用户
一个客户端,一个服务端
在服务端创建用户student,并设置密码
在客户端创建用户xiaoming
2、客户端切换到用户,并验证服务是否正常
此时用客户端切换用户xiaoming 并通过密码登录服务端的student用户,检测网络和服务是否通畅。
3、客户端产生公私钥
这个有两种方式,可以用命令 ssh-keygen -t rsa
,然后不修改其他的,直接敲击回车键,最后查看一下,是否生成有两个密钥文件。
4、复制公钥文件到服务端的对应目录下
在这个过程中,需要输入服务端用户的密码。
5、测试是否能免密登录
问题总结:
首先,先准备两台虚拟机,分别作为服务端和客户端,并添加用户xiaoming(客户端)student(服务端)切记student要设置密码,xiaoming可以不用。创建完成之后切换到建立的用户下,再进行下一步,在客户端和服务端都要产生密钥,命令为ssh-keygen -t rsa
(在一个过程中,全程按键回车就可以了),然后可以在.ssh 目录下查看一下是否存在生成的公钥和私钥文件,检测这一步是否成功,接下来在客户端将所生成的公钥文件复制到服务端对应的目录下,
该命令为:ssh-copy-id student@192.168.21.134
完成之后,在客户端登陆一下服务端的账号,检测是否还需要密码,若不需要密码则实验成功。
**注意:**我在此实验中,出错的地方有很多,每次去访问.ssh目录时,只需要 cd .ssh 就可以了,但我用cd .ssh/就一直访问不到,中期的时候,因为我的思路不清晰,过程出现了一些权限不够的问题,这时候就体现出快照的作用,提醒在安装好虚拟机后记得快照,在做实验过程中,如果出现混乱的时候,可以重新恢复快照,再重头理清思路就可以了。