使用ssh-key远程登录


以前用密码登录的时候,总有一大推异常登录,后面了解到可能是攻击,一直用弱密码的话如果再不加管理,被试出来风险很高,于是今天换成了ssh-key的验证方式

ssh

生成一对“公钥/私钥对”,服务器持有公钥,本地持有私钥。

客户端向服务器发出请求。服务器收到请求之后,先在用户的主目录下找到该用户的公钥,然后对比用户发送过来的公钥。如果一致,服务器用公钥加密“质询”并发送给客户端。客户端收到“质询”后用私钥解密,再发还给服务器。认证结束。

基于密钥的安全认证

安装环境

1
2
3
本机:win10 xsheel连接
服务器:centos7
ssh:openssh

步骤

1.生成SSH-Key

1
ssh-keygen -t rsa

~.ssh 下会生成私钥 id_rsa, 公钥id_rsa.pub

把公钥xxx.pub保存到 ~/.ssh/authorized_keys

2.配置服务器

1
2
3
4
5
6
7
8
9
10
vim /etc/ssh/sshd_config

# 禁用root账户登录
PermitRootLogin no

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

# 禁用密码登录
PasswordAuthentication no

3.修改权限

这一步很重要,我就翻车了

1
2
chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys

4.配置xshell

配置相应参数,方法改为Public Key,选择文件为1中生成的私钥