Xshell配置SSH免密码登录

思路:

私钥存放于客户端,id_rsa

将客户端公钥存放于要远程控制服务器上:将客户在公钥id_rsa.pub内容追加到 /root/.ssh/authorized_keys

使用密钥认证分3步:

1.生成密钥

2.放置密钥、配置ssh

3.配置ssh客户端使用密钥登陆

一  生成密钥

1.使用Xshell生成密钥

可以通过上面任意一种方式生成密钥;

完成之后把生成的密钥保存为文件

保存为 id_rsa.pub (公钥)

2.使用git生成密钥

运行命令 ssh-keygen -t -rsa

二 放置公钥到服务器、设置ssh

使用到Xshell登录到服务器,进入到“/root/.ssh/”目录

将id_rsa.pub发送到服务器,然后运行如下命令,将公钥(Public Key)导入到“authorized_keys”文件:

[root@linuxidc ~]# cd /root/.ssh/

[root@linuxidc .ssh]# cat id_rsa.pub >> authorized_keys

[root@linuxidc .ssh]# chmod 600 authorized_keys

[root@linuxidc .ssh]# chown linuxidc:yearnfar authorized_keys  # 用户、用户组改成自己的

验证登陆是否正确,在ssh客户端配置登陆方式由password改为publickey,文件使用生成的公钥文件即可

如果登陆失败,请检查ssh配置文件(/etc/ssh/sshd_config)中的PubkeyAuthentication是否为yes。

如果验证成功的话就可以关闭密码登陆方式了,编辑/etc/ssh/sshd_config,将PasswordAuthentication改为no,ChallengeResponseAuthentication改为no

重启sshd(service sshd restart)

PS:

1. 要确保目录 .ssh 属于当前用户并且权限是700

2. 确保文件 authorized_keys 属于当前用户并且权限是600

/home/user 目录也必须是700!!!如果你用root改过它权限,也会导致登陆不了

三 设置ssh客户端登陆

四 关于安全方面的一些建议

使用密钥认证登陆,不要去设置root的密钥认证,可以通过其他用户使用su或者sudo获得超级管理员权限

猜你喜欢

转载自www.cnblogs.com/linkenpark/p/8983758.html