Proposal to add a DisableAuthentication option to sshd ServerOptions

Jochen Bern Jochen.Bern at binect.de
Fri Jun 28 09:26:47 AEST 2024


On 27.06.24 06:34, Henry Qin wrote:
> *Specific use cases:*
> 1. Combine sshd on an unprivileged port with kubectl port-forward to
> replace kubectl exec for shelling into containers running in a secure
> Kubernetes environment. Kubectl exec does not kill processes on disconnect,
> and does not support remote port forwarding, while ssh does both of these
> things.
> 2. Run an unauthenticated ssh server on a port that is accessible only
> inside a cluster without the risk of someone accidentally exposing a
> no-password account on an ssh running on port 22.

I'm not very familiar with k8s setups, so I might miss some specific 
requirements, but if I read correctly between the lines, you say that 
you have "good" control of a "safe" IP(v4) subnet *and* the accounts 
SSHing to each other therein, both client and server side.

If so, I don't think that "I don't see right away how those security 
mechanisms could be(come) useful me" is sufficient to conclude "I should 
wholesale have them disabled" (instead of coming up with a setup where 
they *happen* to allow the intended usage, but remain active).

In particular, what I imagine is to have a passphrase-less, more or less 
"global" user keypair distributed (by template?) to all accounts that 
may want to act as a client, and have the pubkey listed - with a 
'from="..."' option to restrict it to the "safe" client IPs - in the 
~/.ssh/authorized of all accounts relevant for the server side.

If pinpointing and templating the relevant accounts in the above way 
works out, there's no need to implement a kill switch for a security 
mechanism in sshd, to fiddle with PAM, or even to run a second, 
non-public sshd on a different port, the clients and servers would 
simply *happen* to have passwordless logins in(to) the "safe area" 
configured and ready to go as they're created off their respective 
templates.

(Bonus points if the authorized_keys entries also come with an 
'expiry-time="..."' option and a *new* widely-distributed user keypair 
gets auto-rolled out in regular intervals, of course ...)

Kind regards,
-- 
Jochen Bern
Systemingenieur

Binect GmbH
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3449 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.mindrot.org/pipermail/openssh-unix-dev/attachments/20240628/ba262091/attachment-0001.p7s>


More information about the openssh-unix-dev mailing list