linux秘钥登录

秘钥登录首先要了解四个文件: 公钥文件,私钥文件, authorized_keys, 还有/etc/ssh/sshd_config配置文件.

公钥文件存放在被登陆的机器上, 要将公钥添加进authorized_keys文件中, 后面在拥有私钥的机器上登录配置了公钥的机器就可以直接登录了

生成秘钥

通过ssh-keygen可以生成秘钥

此时在家目录下的.ssh文件夹下生成了两个文件id_rsa(私钥) 和id_rsa.pub(公钥)

发送秘钥

可以通过scp命令将公钥发送至指定服务器, 

scp id_rsa.pub root@192.168.121.131:/root/.ssh/

也可以通过ssh-copy-id命令

ssh-copy-id 192.168.121.131

ssh-copy-id会直接将内容放到authorized_keys文件中, 而scp命令还要自己导入authorized_keys

这样一来拥有秘钥的主机就可以不使用密码来登录其他主机了.

xshell也可以通过秘钥连接, 在主机生成公钥秘钥, 将秘钥发送至windows, 把公钥写authorized_keys,后面就可以通过秘钥连接服务器了

配置文件

/etc/ssh/sshd_config是ssh的配置文件

其中要注意以下几项

开启密钥登录功能:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

密码不能为空:
PermitEmptyPasswords no

另外,请留意 root 用户能否通过 SSH 登录,默认为yes:
PermitRootLogin yes

当我们完成全部设置并以密钥方式登录成功后,可以禁用密码登录。这里我们先不禁用,先允许密码登陆
PasswordAuthentication yes

修改完成后重启ssh服务

systemctl restart sshd

  

原文地址:https://www.cnblogs.com/wwg945/p/10714363.html