带条件的无缝 ssh

带条件的无缝 ssh

我正在寻找一种无缝 ssh 的方法,当用户通过 shell 执行 ssh 时,它将被禁止(或适用正常规则),但如果某个进程(非交互式)尝试使用同一用户进行 ssh,则应该允许不使用密码。服务器的根目录可能会为带有一些额外输入的用户生成一些密钥。

请帮忙。

答案1

最好的方法是为每个需要访问的进程配备一个专用的 ssh 密钥,确保没有其他用户对私钥具有权限。

每个进程都应该有自己的密钥,这样,如果任何密钥被泄露,您只需更改一个进程的设置,而不是每个使用该密钥的进程的设置。

如果你不想 ssh 提示输入密码,你可以使用

ssh -o "PasswordAuthentication=no" user@host

如果没有其他身份验证成功(即公钥),则此操作将会失败,并且不会给出任何提示

相关内容