普通用户:
若A想免密登录到B,将A生成的公钥追加到B的/home/.ssh/authorized_keys文件中即可
//在A(192.168.X.2)服务器下执行:
//生成公钥
Portal@ubuntu:~$ ssh-keygen -t rsa -P ''
//将公钥拷贝到目标服务器的临时文件夹下
Portal@ubuntu:~$ scp .ssh/id_rsa.pub Portal@192.168.X.84:/home/Portal/id_rsa.pub
//在B(192.168.X.84)服务器下执行://将公钥追加到该文件中
Portal@ubuntu: ~$ cat id_rsa.pub >> .ssh/authorized_keys
root用户:
若需免密登录到B的root用户,需将公钥追加到/root/.ssh/authorized_keys文件中;
普通用户公钥在/home/.ssh下,root用户公钥在/root/.ssh下。
//在B(192.168.X.84)服务器下执行:
root @ubuntu: ~$ cat id_rsa.pub >>/root/.ssh/authorized_keys
(同理,若A的root用户想要登录到B,需将A在root用户下生成的公钥追加进去。)
一般来讲失败的原因有两个:目录文件的权限和目录的属主。
(1)目录文件的权限
.ssh父目录的权限是755(我的是/root),.ssh目录权限是700,authorized_keys文件 600
(2)目录的属主
如果上面方法还没有解决问题,那可能是.ssh父目录的属主存在问题。
转载请注明:学时网 » ssh免密登录(普通用户和root用户)