收藏 分销(赏)

004653_利用SSH-Key实现安全的密钥证书方式登陆.docx

上传人:二*** 文档编号:4829319 上传时间:2024-10-14 格式:DOCX 页数:11 大小:444KB 下载积分:5 金币
下载 相关 举报
004653_利用SSH-Key实现安全的密钥证书方式登陆.docx_第1页
第1页 / 共11页
本文档共11页,全文阅读请下载到手机保存,查看更方便
资源描述
利用SSH Key实现安全的密钥证书方式登陆 SSH作为Linux服务器的缺省登陆方式,安全性上需要进一步的增强,就我个人经验来讲,主要有以下方法: 1.禁止root用户登陆: 修改/etc/ssh/sshd_config PermitRootLogin yes 2.仅允许某一用户(如Jack)登陆 修改/etc/ssh/sshd_config UserAllow Jack 3.修改SSH监听端口(如7890) 修改/etc/ssh/sshd_config Port 7890 4.通过hosts.allow仅允许指定IP(如8.8.8.8)或IP段(如8.8.8.x)通过 修改/etc/hosts.deny sshd:all 修改/etc/hosts.allow sshd:8.8.8.8 sshd:8.8.8. 5.禁用密码方式验证,使用密钥证书方式登陆 具体实现过程将稍后在本文中进行讲解 6.在服务器上安装OpenVPN Server,然后仅允许OpenVPN的本地IP段通过 这样每次都需要通过证书登陆到OpenVPN,才能再登陆到SSH,具体OpenVPN的搭建请参考我的这篇文章: 从1到6,安全级别逐渐加强,但安全与便捷始终存在着矛盾,这一点需要大家自己进行取舍。 下面,我将对利用SSH Key实现安全的密钥证书方式登陆进行介绍,介绍中包括的客户端为 SSH Secure Shell,PuTTY,SecureCRT以及Linux终端。 一、配置OpenSSH服务端 1.修改配置文件中的以下记录 # vim /etc/ssh/sshd_config ================================ PermitEmptyPasswords no PasswordAuthentication no RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys StrictModes no ================================ 2.为用户(如jack)创建authorized_keys文件 # cd /home/jack # mkdir .ssh # touch .ssh/authorized_keys # chmod 700 .ssh # chmod 600 .ssh/authorized_keys # chown -R jack:jack .ssh(SUSE上需要执行 chown -R jack:users .ssh) 3.重启OpenSSH服务 # /etc/init.d/sshd restart 二、配置SSH客户端 使用SSH Secure Shell客户端生成SSH Key 打开SecureCRT客户端,点击 “ Edit- Settings ”; 选择 “ Global Settings - User Authentication – Keys ”,点击 “ Generate New ”; 再出现的界面中选择 “ RSA ” 与 “ 1024 ”,点击 “ 下一步 ”; 会出现一个密码生成的界面,完成之后,点击下一步; 在界面中输入 文件名,提示信息与密码短语,点击下一步; 可以看到刚刚生成的key; 进入密钥存放路径中,用记事本打开Jack.pub公钥文件; 将文件中的密钥信息复制到新的文件中,重新编辑为可被OpenSSH接受的格式; 例如原有格式: ---- BEGIN SSH2 PUBLIC KEY ----Comment: "Jack [1024-bit rsa, Digby ]" AAAAB3NzaC1yc2EAAAADAQABAAAAgQDSaMbbAmwE/b0NaqGN/9yq56UEYzQ0PEUCgTCN qnCPOXnHqqH0H7G/77MXZ0j9ekzL7arLzjcZBXpYSrg7ueSj+6yIsGnlH8g0k1u/uqTe 9/8xDIwxww9OFvRPk9KP7W1653ahj9w/gOxYu66+sT5tt4lu643zPIOO7Fm3cjuy7Q== ---- END SSH2 PUBLIC KEY ---- 可被OpenSSH接受的格式,即“ssh-rsa 密钥 提示信息”,需要去除换行,将整个处理为单行记录: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDSaMbbAmwE/b0NaqGN/9yq56UEYzQ0PEUCgTCNqnCPOXn HqqH0H7G/77MXZ0j9ekzL7arLzjcZBXpYSrg7ueSj+6yIsGnlH8g0k1u/uqTe9/8xDIwxww9OFvRPk9KP7W1653a hj9w/gOxYu66+sT5tt4lu643zPIOO7Fm3cjuy7Q== Jack 将编辑后的内容复制下来,并粘贴到服务器中需要通过密钥登陆的用户(如jack)的 ~/.ssh/authorized_keys 文件中。 此时SSH Secure Shell默认已经使用Identity文件作为本地私钥了; 使用SSH Secure Shell工具进行登陆,当出现以下提示框,说明密钥已经验证通过,输入设置的密码短语,即可登陆。 使用Linux终端生成SSH Key 使用ssh-keygen生成SSH Key,依次输入:回车,密码短语,密码短语。 然后进入密钥存放路径中,打开 id_rsa.pub 公钥文件; 将文件中的内容复制下来,粘贴到服务器中需要通过密钥登陆的用户(如jack)的 ~/.ssh/authorized_keys 文件中。 使用命令行进行登陆,当出现以下提示框,说明密钥已经验证通过,输入设置的密码短语,即可登陆。 使用PuTTY客户端生成SSH Key 打开PUTTYGEN.exe程序,点击Generator,在出现的界面中滑动鼠标来输入随机数据,进入到如下界面。 执行以下操作: 在Key comment:输入key的提示信息; 在Key passphrase:输入key的密码短语,在Confirm passphrase:再次输入key的密码短语; 在Type of key to generate:选择SSH-2 RSA; 在Number of bits in a generated key:输入1024; 点击Save public key保存 公钥 到本地,命名为ssh-rsa.pub; 点击Save private key保存 私钥 到本地,命名为ssh-rsa.ppk。 将最上方的Public key for pasting into OpenSSH authorized_keys file:的文本框中的内容复制下来,并粘贴到服务器中需要通过密钥登陆的用户(如jack)的 ~/.ssh/authorized_keys 文件中。 使用PuTTY,在Connection-SSH-Auth中的Private key file for authentication中选择刚生成的ssh-rsa.ppk文件。 使用PuTTY进行登陆,当出现以下提示框,则说明密钥已经验证通过,输入开始设置的密码短语,即可登陆。 使用SecureCRT客户端生成SSH Key 打开SecureCRT客户端,点击 “ Tools - Create Public key ”; 在陆续出现的界面中,执行以下操作: 选择 下一步,然后选择密钥类型为“ RSA ”; 输入密码短语与提示信息; 输入密钥长度(位):1024; 选择 “ OpenSSH Key format ” 并确认密钥存放路径,点击 完成; 进入密钥存放路径中,用记事本打开Identity.pub公钥文件; 将文件中的内容复制下来,粘贴到服务器中需要通过密钥登陆的用户(如jack)的 ~/.ssh/authorized_keys 文件中。 如果使用的SecureCRT客户端版本比较低,不能够选择“OpenSSH Key format”格式来存储密钥,那么就需要将文件中的密钥信息复制到新的文件中,重新编辑为可被OpenSSH接受的格式; 例如原有格式: ---- BEGIN SSH2 PUBLIC KEY ---- Subject: Digby Comment: "Jack" ModBitSize: 1024 AAAAB3NzaC1yc2EAAAADAQABAAAAgQDSaMbbAmwE/b0NaqGN/9yq56UEYzQ0PEUCgTCN qnCPOXnHqqH0H7G/77MXZ0j9ekzL7arLzjcZBXpYSrg7ueSj+6yIsGnlH8g0k1u/uqTe 9/8xDIwxww9OFvRPk9KP7W1653ahj9w/gOxYu66+sT5tt4lu643zPIOO7Fm3cjuy7Q== ---- END SSH2 PUBLIC KEY ---- 可被OpenSSH接受的格式,即“ssh-rsa 密钥 提示信息”,需要去除换行,将整个处理为单行记录: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDSaMbbAmwE/b0NaqGN/9yq56UEYzQ0PEUCgTCNqnCPOXn HqqH0H7G/77MXZ0j9ekzL7arLzjcZBXpYSrg7ueSj+6yIsGnlH8g0k1u/uqTe9/8xDIwxww9OFvRPk9KP7W1653a hj9w/gOxYu66+sT5tt4lu643zPIOO7Fm3cjuy7Q== Jack 将编辑后的内容复制下来,粘贴到服务器中需要通过密钥登陆的用户(如jack)的 ~/.ssh/authorized_keys 文件中。 此时SecureCRT默认已经使用Identity文件作为本地私钥了,如果需要指定私钥文件,需要在 “Connection - SSH2 - Authentication(PublicKey) - Properties ”中进行设置; 使用SecureCRT工具进行登陆,当出现以下提示框,则说明密钥已经验证通过,输入开始设置的密码短语,即可登陆。 三、注意事项 在生成了key之后,一定要保存好生成的两个证书文件,它们分别代表了 公钥 和 私钥; 其中公钥用于添加到服务器端用来识别私钥,私钥用于服务器认证,如果不单独复制出来好好的保存的话,极有可能在重装系统或SSH客户端之后,造成两个证书文件的丢失,也就再也无法登陆服务器了。 另外,为证书创建一个密码短语也是非常有必要的,因为如果一旦证书泄露了,且没有密码短语的保护,那么拿到证书的人就可以直接登陆到服务器中。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服