this post was submitted on 12 Feb 2024
231 points (94.9% liked)

Linux

47988 readers
1199 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

cross-posted from: https://programming.dev/post/9907720

The SSH port is 22. This is the story of how it got that port number. And practical configuration instructions.

you are viewing a single comment's thread
view the rest of the comments
[–] poweruser@lemmy.sdf.org 32 points 8 months ago (2 children)

The -p option can be used to specify the port number to connect to when using the ssh command on Linux. The -P (note: capital P) option can be used with SFTP and scp.

Why is it that the switch on ssh is -p but in scp/sftp it is -P?

This has caused me a real headache in the past as ssh doesn't throw an error message when you use a switch like "ssh -P 8080"

[–] palordrolap@kbin.social 12 points 8 months ago

At a guess, it's because the function of preserving file dates and times is more likely than setting the port to something other than the default, so it gets the lowercase character, whereas ssh doesn't do anything with files so the port option gets the lowercase character.

The inconsistency is annoying though. I wonder if they could make ssh's -p option case insensitive so -P works across the board. (Maybe -P is reserved for some unknown future purpose?)

A work-around would be introducing long options and having --port be the option's long name across all the commands, but then, that comes with its own problems.

[–] Perhyte@lemmy.world 7 points 8 months ago

If this is something you run into often, it's likely still only for a limited number of servers? ssh and scp both respect .ssh/config, and I suspect (but haven't tested) that sftp does too. If you add something like this to that file:

Host host1 host2
  Port 8080

then SSH connections to hosts named in that first line will use port 8080 by default and you can leave off the -p/-P when contacting those hosts. You can add multiple such sections if you have other hosts that require different ports, of course.