目前公司有一台公网的dmz机器,非常重要,但是怕被ssh暴力破解密码,我想的是通过ssh登录的时候,先验证秘钥,然后验证密码,在网上试过很多中方法,仍然不行,求相关资料
3条回答 默认 最新
- 大帅哥多金 2023-05-29 11:15关注
来自chatgpt的回答 :
要实现客户端在使用ssh登录时需要提供秘钥文件和密码双重验证,可以通过以下步骤来完成。在服务器端设置双重验证方式:打开 /etc/ssh/sshd_config 文件,并添加以下两行代码:
ChallengeResponseAuthentication yes
AuthenticationMethods publickey,password
这样就允许使用双重验证方式进行ssh登录。生成密钥文件:在客户端使用 ssh-keygen 命令生成公钥和私钥。可以使用默认路径,输入命令后一路回车即可。生成后会在用户主目录下生成 .ssh 文件夹,并存放公钥和私钥文件。其中,公钥文件名为 id_rsa.pub,私钥文件名为 id_rsa。
复制公钥到服务器上:使用以下命令将公钥复制到服务器上,将 user 替换成自己的用户名以及 server_ip 替换成服务器的IP地址。
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server_ip
设置本地ssh代理:在客户端打开终端,输入以下命令,启动ssh代理。
ssh-agent bash
ssh-add ~/.ssh/id_rsa
此时,会要求输入私钥文件的密码,输入后代理就启动成功了。使用ssh登录:执行以下命令进行ssh登录,将 user 替换成自己的用户名以及 server_ip 替换成服务器的IP地址。
ssh user@server_ip
这样就会先要求输入私钥密码,验证成功后再要求输入登录密码。只有两者都验证通过,才能成功登录服务器。解决 无用评论 打赏 举报
悬赏问题
- ¥100 科大讯飞语音唤醒词,unbuntu环境,报错
- ¥15 可以实现这个有不同背景颜色的九九乘法表吗?
- ¥50 python写segy数据时出错2
- ¥20 关于R studio 做精确稳定检验的问题!(语言-r语言)
- ¥50 用贝叶斯决策方法,设计CAD程序
- ¥20 关于#目标检测#的问题:(qq收集表到时间才能填写,填写的份数有上限)
- ¥50 ZYNQ7020双核FLAHS烧写的问题
- ¥20 ue 5 中想要实现第一人称人物左右行走摆动的效果,摄像头只向右摆动一次(关键词-结点)
- ¥15 AD9164瞬时带宽1.8G,怎么计算出来?
- ¥15 鼠标右键,撤销删除 复制 移动,要怎样删除? HKEY_CLASSES_ROOT*\shellex\ContextMenuHandlers 没用