Linux 向ssh登录添加安全功能

Linux 向ssh登录添加安全功能,linux,bash,security,ssh,Linux,Bash,Security,Ssh,我正在安装一个新服务器,希望它更安全。我只是想听听我下面所做的是好还是没用 假设只有一个unix用户可用,则不允许密码身份验证(仅允许私钥/公钥身份验证)。但是如果私钥被盗,那么任何人都可以访问ssh。 所以我所做的是:编辑.bashrc以添加自定义脚本,这样我就可以问一个“安全问题”。如果答案正确,则您已登录,如果没有,则发送电子邮件并注销 在.bashrc中: trap打印输出INT nb=1 打印输出(){ 案件$nb 1) printf“\n插入-是否尝试转义?” nb=$((nb+1)

我正在安装一个新服务器,希望它更安全。我只是想听听我下面所做的是好还是没用

假设只有一个unix用户可用,则不允许密码身份验证(仅允许私钥/公钥身份验证)。但是如果私钥被盗,那么任何人都可以访问ssh。 所以我所做的是:编辑.bashrc以添加自定义脚本,这样我就可以问一个“安全问题”。如果答案正确,则您已登录,如果没有,则发送电子邮件并注销

在.bashrc中:

trap打印输出INT
nb=1
打印输出(){
案件$nb
1)
printf“\n插入-是否尝试转义?”
nb=$((nb+1))
;;
2)
printf“\n错误-已发送电子邮件,警察巡逻队正在前往您家的路上。\n”
#发送电子邮件的mail命令
出口
;;
以撒
}
阅读-rp“我最喜欢的游戏是什么?”游戏
如果[“$Game”!=“任何你想要的”];然后
printf“\n访问被拒绝。已发送电子邮件,警察巡逻队正在前往您家的路上。\n”
#发送电子邮件的mail命令
出口
fi
回音“好。”

ssh服务有更好的安全实现

  • 将身份验证方法从密码更改为证书(ref)
  • 在ssh服务上实现端口敲打(ref)
  • 如果还不够,在ssh服务上实现Fail2Ban(ref)
      ssh服务有更好的安全实现

      • 将身份验证方法从密码更改为证书(ref)
      • 在ssh服务上实现端口敲打(ref)
      • 如果还不够,在ssh服务上实现Fail2Ban(ref)
      使用密码短语创建证书。这样,如果有人偷了私钥,他们无论如何也不能使用它。我工作过的一家银行会用密码为你创建密钥。您无法创建自己的。这是一个非常糟糕的主意,首先很容易绕过,其次正如@Nick3500正确指出的,加密您的SSH密钥具有相同的预期效果,并提供更好的保护。请使用密码创建您的证书。这样,如果有人偷了私钥,他们无论如何也不能使用它。我工作过的一家银行会用密码为你创建密钥。您无法创建自己的。这是一个非常糟糕的主意,首先它很容易被绕过,其次正如@Nick3500正确指出的,加密您的SSH密钥具有相同的预期效果,并提供更好的保护。