did you know that SSH has a little-known secret menu?
-
did you know that SSH has a little-known secret menu?
i wrote a post about this on cohost a while back, but since that site shut down i'm posting it here too
@rebane2001@infosec.exchange yes. i just happened to look at the man page for it yesterday.
-
@bob_zim @agowa338 @rebane2001 *if* your keyboard layout has a functioning tilde key (a deadkey might output something else and it's nontrivial to make it output just the character itself (and it depends on the OS how it deals with it))
@phl @bob_zim @agowa338 @rebane2001 For me, on a mac, hitting the deadkey and then space works. So, <Enter> ~ <Space> ? gets me to that menu.
-
@bob_zim @agowa338 @rebane2001 *if* your keyboard layout has a functioning tilde key (a deadkey might output something else and it's nontrivial to make it output just the character itself (and it depends on the OS how it deals with it))
@phl Huh. Iâm not sure Iâve seen a non-exotic (e.g, not for a Corne) layout which entirely lacks tilde as a discrete character. On my German keyboards, itâs on the AltGr layer of the +/* key. Same on Spanish QWERTY keyboards Iâve seen.
Not doubting that such a keyboard exists, I just thought I had seen most of the mass-produced layouts.
-
did you know that SSH has a little-known secret menu?
i wrote a post about this on cohost a while back, but since that site shut down i'm posting it here too
@rebane2001 Disabled by default on openssh *client* 9.2 and above.
https://github.com/openssh/openssh-portable/commit/f7cebbbf407d772ed71403d314343766782fe540
```
Host *
EnableEscapeCommandline yes
```
In your ssh_config file to re-enable it. -
@rebane2001 Disabled by default on openssh *client* 9.2 and above.
https://github.com/openssh/openssh-portable/commit/f7cebbbf407d772ed71403d314343766782fe540
```
Host *
EnableEscapeCommandline yes
```
In your ssh_config file to re-enable it.@baloo@sfba.social @rebane2001@infosec.exchange that's only the command line (
~c). the other escape sequences still work by default. -
@baloo@sfba.social @rebane2001@infosec.exchange that's only the command line (
~c). the other escape sequences still work by default. -
Yes, but did you know that it is basically inaccessible on Keyboard layouts like e.g. de-DE?
@agowa338 @rebane2001 you can whine about it or you can read the manual and add EscapeChar to your ssh config to set it to any other character.
-
@baloo @mica @rebane2001 itâs a good security default. Imagine a bastion host or other program that allows you to ssh to a target host. The expectation is that all you can do is interact with the terminal on the target, or exit. However, the ssh escape allows you to create and delete tunnels, amongst other things, which might not have been anticipated. Disabling by default removes the surprise.
-
did you know that SSH has a little-known secret menu?
i wrote a post about this on cohost a while back, but since that site shut down i'm posting it here too
I did not, but I am not surprised. I use ~^Z often, ~. sometimes, am old enough to remember ~ commands from mailx, and the ^] break in telnet.
-
did you know that SSH has a little-known secret menu?
i wrote a post about this on cohost a while back, but since that site shut down i'm posting it here too
@rebane2001 Yes, but unfortunately it is not available for multiplexed sessions đĽ˛
-
@phl @bob_zim @agowa338 @rebane2001 For me, on a mac, hitting the deadkey and then space works. So, <Enter> ~ <Space> ? gets me to that menu.
@khrister @phl @bob_zim @rebane2001
Which makes it a different key combination and - well - try googling for it. I've literally never seen this being documented (in a discoverable way) anywhere.
-
@phl Huh. Iâm not sure Iâve seen a non-exotic (e.g, not for a Corne) layout which entirely lacks tilde as a discrete character. On my German keyboards, itâs on the AltGr layer of the +/* key. Same on Spanish QWERTY keyboards Iâve seen.
Not doubting that such a keyboard exists, I just thought I had seen most of the mass-produced layouts.
But the keyboard sequence becomes different and just trying to press it is annoying to impossible. Esp. if you then also try to do it over e.g an additional IPMI or VMware console in between as well.
It's just one of these things that feel like nobody expected anything but en-US being used as it just sucks. Almost always it is easier to first change your keyboard layout to en-US, press the keyboard shortcut, and switch it back...
-
@agowa338 @rebane2001 you can whine about it or you can read the manual and add EscapeChar to your ssh config to set it to any other character.
I could do that If I'd only connect from one device to a hand full of other devices. But that just doesn't work when you're doing work for customers.
Configuring that would be even harder than getting the key combination changed within the OpenSSH source code for everyone...
-
But the keyboard sequence becomes different and just trying to press it is annoying to impossible. Esp. if you then also try to do it over e.g an additional IPMI or VMware console in between as well.
It's just one of these things that feel like nobody expected anything but en-US being used as it just sucks. Almost always it is easier to first change your keyboard layout to en-US, press the keyboard shortcut, and switch it back...
@agowa338 @phl It doesnât become a different sequence, though? Immediately after a new line, send a tilde character to signify the next character is a control character, then send the control character (e.g, ? to get the help and command line). Sure, you may press different keys to cause your keyboard to emit the tilde, but that doesnât make it a different sequence. For example, nobody specifies Shift-/ in these sequences, they specify ?, and itâs up to you to get your keyboard to emit that character.
Yes, software trying to read scan codes directly and interpret them as US keyboards sucks, but thatâs hardly the fault of applications like OpenSSH which do no such thing.
-
@khrister @phl @bob_zim @rebane2001
Which makes it a different key combination and - well - try googling for it. I've literally never seen this being documented (in a discoverable way) anywhere.
@agowa338 Neither have I. Well, I somehow learned <Enter> ~ ^Z, not sure how. The rest I learned from this toot.
The ~ <space> trick I found out by trial and error, I think.
-
@phl Huh. Iâm not sure Iâve seen a non-exotic (e.g, not for a Corne) layout which entirely lacks tilde as a discrete character. On my German keyboards, itâs on the AltGr layer of the +/* key. Same on Spanish QWERTY keyboards Iâve seen.
Not doubting that such a keyboard exists, I just thought I had seen most of the mass-produced layouts.
@bob_zim Hmm, tbf I'm not entirely sure if there's one with it missing (incidentally Spanish was the other layout I was suspicious of)... the deadkey aspect and it being hidden under layer 3 (and who knows if it's printed on the keyboard) definitely makes it more awkward and harder to type though than a Ctrl combination for example.
-
I could do that If I'd only connect from one device to a hand full of other devices. But that just doesn't work when you're doing work for customers.
Configuring that would be even harder than getting the key combination changed within the OpenSSH source code for everyone...
-
@agowa338 @phl It doesnât become a different sequence, though? Immediately after a new line, send a tilde character to signify the next character is a control character, then send the control character (e.g, ? to get the help and command line). Sure, you may press different keys to cause your keyboard to emit the tilde, but that doesnât make it a different sequence. For example, nobody specifies Shift-/ in these sequences, they specify ?, and itâs up to you to get your keyboard to emit that character.
Yes, software trying to read scan codes directly and interpret them as US keyboards sucks, but thatâs hardly the fault of applications like OpenSSH which do no such thing.
@bob_zim @agowa338 I think Klaus might have meant that depending on the layout the actual keys you have to press changes significantly (often not merely by location too)
I have absolutely no clue what I had to press on Hungarian keyboards for ^] in telnet, come to think of it XD I guess it wasn't what I think it was with my now mostly US-layout mind...
-
@bob_zim @agowa338 I think Klaus might have meant that depending on the layout the actual keys you have to press changes significantly (often not merely by location too)
I have absolutely no clue what I had to press on Hungarian keyboards for ^] in telnet, come to think of it XD I guess it wasn't what I think it was with my now mostly US-layout mind...
@phl @agowa338 Sure, but itâs the operatorâs responsibility to know where characters are on the keyboard which they have. Iâm currently switching to Colemak-DH on a split ergonomic keyboard, which has a totally custom layout for the non-alphanum keys (e.g, I have [ on the rightmost column of the left keyboard and ] on the leftmost column of the right). It wouldnât be OpenSSHâs problem (or my OSâs or anybody but mine) if I didnât give myself a way to type a tilde or if I forgot where it was.
-
@phl @agowa338 Sure, but itâs the operatorâs responsibility to know where characters are on the keyboard which they have. Iâm currently switching to Colemak-DH on a split ergonomic keyboard, which has a totally custom layout for the non-alphanum keys (e.g, I have [ on the rightmost column of the left keyboard and ] on the leftmost column of the right). It wouldnât be OpenSSHâs problem (or my OSâs or anybody but mine) if I didnât give myself a way to type a tilde or if I forgot where it was.
Look, I'm not disagreeing with "the operator should know". However there at least should be some - easily discoverable, or even linked within "man ssh" - kind of documentation for where that combination gets mapped to on STANDARD keyboard layouts. Especially when it changes the entire sequence, not just location...
All I'm complaining about is the lack of documentation and how annoying it was especially when I first learned about that shortcut.