测试阿里云ssh密钥对连接
主要问题:操作系统只采取用户名+口令一种鉴别技术对用户身份进行鉴别,未采取两种或两种以上的管理用户身份鉴别措施,其中一种技术为密码技术。
整改建议:操作系统采用两种或以上组合的鉴别技术对管理用户进行身份鉴别,其中一种鉴别技术至少使用密码技术来实现,身份鉴别技术目前主要以用户名/口令为主,
为了防止因用户名/口令丢失或遭到破解造成的非授权访问,
三级及以上系统应采取两种或以上身份鉴别措施,常见的身份鉴别措施还有基于密钥证书(如USBKey、令牌、数字证书)和基于生物特征(如虹膜、面部特征)。
说到密钥证书,我想到ssh-keygen系统自带生成的证书,其次就是发现阿里云有个密钥对绑定到服务器上的配置。
环境:测试的服务器A在阿里云上,堡垒机在天翼云上
需求:配置只能由天翼云堡垒机连接到服务器A,能同时验证到:账号密码+密码技术 登录到A上。
测试结果:只能使用 “账号+密码” 或者 “账号+密码技术” ,不能 账号+密码+密码技术。
所以我下面的测试相当于白做,总结下踩坑点,不枉费我一上午的研究。
参考文档:
(1)https://help.aliyun.com/document_detail/51792.html?spm=a2c4g.11186623.0.0.74576406XqKQGn
(2)https://help.aliyun.com/document_detail/51793.html?spm=a2c4g.11186623.0.0.4fad3618OdSoD5
(3)https://help.aliyun.com/document_detail/51798.html
注意点:
1、阿里云的SSH密钥对,支持外部导入密钥或者用ECS控制台创建的ssh密钥对。
2、将密钥绑定到服务器上或者解绑,都需要重启ECS(贼麻烦)。
绑定密钥到服务器后,默认写入公钥内容到 root用户下的 .ssh/authorized_keys 下。强调这个是因为,如果不把这个文件拷贝到普通用户的 .ssh/ 下(也要改好属主属组),只能通过root验证登录到服务器上,而普通用户会被拒。
3、如果给天翼云堡垒机配置服务器用ssh-keygen生成的私钥证书,会报错;但是配置阿里控制台创建的证书,则不会
4、如果在本机环境链接远程服务器,按帮助文档说的,如果是linux系统,需要在 .ssh 下创建一个config文件,这样测试的时候就可以直接
ssh [ECS实例的别名] 或者 ssh [ECS实例的公网ip]
不创建config文件也行,ssh 指定私钥文件就行
ssh -i /root/.ssh/ecs.pem root@[ECS实例的别名]
或者
ssh -i /root/.ssh/ecs.pem 普通用户@[ECS实例的别名] ---- 这个前提是在服务器上拷贝了 /root/.ssh/authorized_keys 到 /home/普通用户/.ssh/ 下,而且得改好权限和属主属组
5、 如果堡垒机要支持 用户+密码 或者 用户+密钥 方式登录服务器,需要把ECS的ssh配置文件 /etc/ssh/sshd_config 的参数修改并重启 ssh 服务
从默认的
PasswordAuthentication no
改成
PasswordAuthentication yes