• poweruser@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    1
    ·
    9 months ago

    The -p <port> option can be used to specify the port number to connect to when using the ssh command on Linux. The -P <port> (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
      link
      fedilink
      arrow-up
      1
      ·
      9 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.