小白的Linux学习笔记2 2024/4/17 8:33
目录
为什么需要免密登录?
开发时,一般并不会像自己用电脑一样,坐在服务器面前做开发,服务器会在机房,需要远程登录
默认情况下,任何程序登录Linux都需要密码
举例:
Hadoop集群,在操作时,可能一次操作2000台服务器,那得输入2000次密码,忙碌的敲了一天密码,一方面程序员访问集群,集群内部相互访问,为了相互不输入密码,需要配置免密登录
配置单向的免密登录
过程
如果A->B免密登录(单向的面登录)
1.在A上生成一个密钥(类似密码本),分公钥、私钥
2.讲公钥拷贝给B
3.A向B发送连接请求,包括用户名,ip等
4.B收到A的信息后,查找是否有对应的用户名和ip,如果有,会生成一个随机字符串
5.B将随机字符串用公钥加密,将加密字符串发给A
6.接收字符串用私钥解密,解密后发给B
7.接收后对比是否和原来一样,一样就不需要密码,实现免密登录
实施
1.mkdir /root/.ssh 创建目录
mkdir /root/.ssh
2.ssh-keygen 生成公钥、私钥,输入后四个回车,中间啥都不要输入
ssh-keygen
3.cd .ssh 进入 ll查看
cd .ssh
ll
4.ssh-copy-id -i localhost 把公钥拷贝给自己,需要输入密码
ssh-copy-id -i localhost
Linux比较狠,自己访问自己也需要密码,所以给自己整个免密登录
5.ssh localhost