Linux之SSH安全,使用密钥对验证

登录验证对象:服务器中的本地用户帐号

登录验证方式:

  密码验证:核对用户名、密码是否匹配

  密钥对验证:核对客户的私钥、服务端公钥是否匹配

# vim /etc/ssh/sshd_config

PasswordAuthentication yes   // 密码验证

PubkeyAuthentication yes   //密钥对验证

AuthorizedKeysFile .ssh/authorized_keys  // 密钥保存地方

# systemctl restart ssh.service

构建密钥对验证的SSH体系:

第一步:创建密钥对(在客户端创建,创建后包含私钥和公钥,形成一个密钥对)

  私钥文件:id_rsa

  公钥文件:id_rsa.pub

# ssh-keygen -t rsa

// 设置密钥保存位置

// 设置密钥口令

【私钥权限为:600

公钥权限为:644

此加密方式为非对称加密,私钥文件一定不能公开】

第二步:上传公钥文件到服务端

第三步:导入公钥文件

以下命令把第二步和第三步合成一起实现上传并导入:

# ssh-copy-id remote_user_name@remote_ip_address

 

例子:

导入公钥文件前,使用guest用户切换到user001用户:
guest@debian:~$ ssh [email protected]
[email protected]'s password:

开始上传并导入公钥文件:

    使用guest用户上传并导入公钥文件到user001用户,上传并导入成功后,使用guest用户切换到user001用户,无需user001的密码即可登录到user001(如果guest用户创建密钥对时候创建了密码,则需输入密钥口令):

guest@debian:~$ ssh-copy-id [email protected]

// 输入user01的密码

// 上传并导入成功,在user001用户的 ~/.ssh 目录下有一个文件 authorized_keys ,即上传并导入后的公钥文件

// 使用guest用户切换到user001,无需user001的密码即可登录

guest@debian:~$ ssh [email protected]
Enter passphrase for key '/home/guest/.ssh/id_rsa':

猜你喜欢

转载自www.cnblogs.com/relax1949/p/8973016.html