我已经使用私钥/公钥设置了 OpenSSH 服务器,并禁用了密码登录。
我想知道是否有办法在没有密钥的人尝试连接时甚至不显示“登录:”提示。
编辑
好的......我试图实现的目标似乎有些混乱。所以,这是一个更好的解释(我希望)......
当前设置
有密钥的客户端连接,并完成以下过程:
login as: username
BANNER
Authenticating with public key "Key name"
Passphrase for key "key name": *******
Welcome
username@hostname:~$
Run Code Online (Sandbox Code Playgroud)
没有密钥的客户端连接,并经过以下过程:
login as: username
BANNER
Server refused our key
Run Code Online (Sandbox Code Playgroud)
我想要的是
没有密钥的客户端连接,并经历以下过程:
No key, go away.
Run Code Online (Sandbox Code Playgroud)
在服务器端,进行编辑,/etc/ssh/sshd_config以便获得以下行:
PasswordAuthentication no
Run Code Online (Sandbox Code Playgroud)
然后重新启动服务器:
sudo service sshd restart
Run Code Online (Sandbox Code Playgroud)
这将消除无需密钥进行身份验证的能力。
但是,您始终必须证明自己的身份,因此无法删除登录提示。
如果您使用ssh username@hostname连接,您将永远不会看到它,但其他人如果连接到没有用户名的主机名,就会看到它。
如果您添加以下内容,则可以使用密钥限制仅对您的用户名进行访问:
AllowUsers username
Run Code Online (Sandbox Code Playgroud)
对于此内容和其他内容,请参阅Ubuntu wiki 页面的 SSH。
| 归档时间: |
|
| 查看次数: |
5227 次 |
| 最近记录: |