客户端配置
(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
本文详细介绍如何配置SSH客户端及服务器实现免密登录,包括生成公钥/私钥对、公钥复制到服务器、服务器配置文件调整、服务重启及权限设置等步骤。
3784

被折叠的 条评论
为什么被折叠?



