CentOS7.0免密登录以及错误解决

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Marvel__Dead/article/details/78884166

客户端配置

(1)生成公钥/私钥对

ssh-keygen -t rsa -P ''

-P表示密码,-P ” 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。
如果是root用户下生成,生成位置将在:/home/.ssh里面。前提是,你得创建一个.ssh目录。如果是普通用户,将在/home/用户名/.ssh里面。

(2)公钥复制到服务器
可以手动复制,也可以通过scp远程传输复制(需要登录密码):

想要免密登录普通用户:
scp .ssh/id_rsa.pub 用户名@192.168.1.181:/home/用户名/.ssh/authorized_keys

想要免密登录root用户:
scp .ssh/id_rsa.pub root@192.168.1.181:/root/.ssh/authorized_keys

服务器配置

(1)首先:配置ssh服务器配置文件。

在root 用户下才能配置。

vi /etc/ssh/sshd_config

修改之后为:

PermitRootLogin no

PasswordAuthentication no

权限设为yes:

RSAAuthentication yes

PubkeyAuthentication yes

(2)重启sshd服务

systemctl restart sshd.service

systemctl status sshd.service #查看ssh服务的状态

#systemctl start sshd.service  #开启ssh服务

#sytemctl enable sshd.service #ssh服务随开机启动,还有个disabled

#systemctl stop sshd.ervice #停止

正常情况下应该是Active:active(running)

(3)修改文件夹以及文件的权限。

如果是普通用户修改:

chmod 700 /home/用户名/.ssh
chmod 644 /home/用户名/.ssh/authorized_keys

如果是root修改:

chmod 700 /root/.ssh
chmod 644 /root/.ssh/authorized_keys
通过命令连接:ssh -v 用户名@hostname

如果root用户或者普通用户免密登录报错(SSH configuration, publickeys, Permission denied (publickey,password)):

请关闭SELinux:

暂时关闭(重启后恢复):
setenforce 0  

永久关闭(需要重启):
vi /etc/selinux/config  
SELINUX=disabled 

参考:

https://www.cnblogs.com/xubing-613/p/6844564.html
http://flysnowxf.iteye.com/blog/1567570

阅读更多
换一批

没有更多推荐了,返回首页