yewanji 2023-05-29 10:52 采纳率: 36.3%
浏览 14
已结题

linux 如何实现ssh登录的时候,客户端要提供秘钥文件和密码双重验证才能登录成功

目前公司有一台公网的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
    这样就会先要求输入私钥密码,验证成功后再要求输入登录密码。只有两者都验证通过,才能成功登录服务器。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月28日
  • 创建了问题 5月29日

悬赏问题

  • ¥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 没用