服务器配置密钥登录

win10 系统环境

打开Windows PowerShell

输入下面的命令 生成密钥

ssh-keygen -t rsa -C "name" # name 是这个密钥的名称 也可以不用

按三次回车 默认生成到

C:\Users\用户名.ssh 目录下

这步会在会在 ~.ssh 下生成id_rsa, id_rsa.pub 两个文件,分别是 私钥/公钥。 之后我们需要把公钥放到服务器的~/.ssh/authorized_keys中,私钥在本地客户端保存。 要保证 .sshauthorized_keys 都只有用户自己有写权限。否则验证无效。

登录服务器:

把公钥放到服务器的~/.ssh/authorized_keys中,然后输入

$ chmod -R 700 ~/.ssh/   # 客户端
$ chmod 600 ~/.ssh/authorized_keys  #服务端

设置 SSH,打开密钥登录功能

编辑 /etc/ssh/sshd_config 文件,进行如下设置:

RSAAuthentication yes
PubkeyAuthentication yes

另外,请留意 root 用户能否通过 SSH 登录:

PermitRootLogin yes

当你完成全部设置,并以密钥方式登录成功后,再禁用密码登录(需要密码登录的情况下,可以不禁用):

PasswordAuthentication no

最后,重启 SSH 服务:

[root@host .ssh]$ service sshd restart

最后效果:

注意:本文归作者所有,未经作者允许,不得转载