ssh免密

客户端配置

(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

或者执行以下命令

ssh-copy-id 192.168.1.181

服务器配置

(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服务

systemctl 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
posted @ 2023-06-14 15:06  liuxiaobei556  阅读(62)  评论(0)    收藏  举报