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