sshnames.but 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. \A{sshnames} SSH-2 names specified for PuTTY
  2. There are various parts of the SSH-2 protocol where things are specified
  3. using a textual name. Names ending in \cw{@putty.projects.tartarus.org}
  4. are reserved for allocation by the PuTTY team. Allocated names are
  5. documented here.
  6. \H{sshnames-channel} Connection protocol channel request names
  7. These names can be sent in a \cw{SSH_MSG_CHANNEL_REQUEST} message.
  8. \dt \cw{simple@putty.projects.tartarus.org}
  9. \dd This is sent by a client to announce that it will not have more than
  10. one channel open at a time in the current connection (that one being
  11. the one the request is sent on). The intention is that the server,
  12. knowing this, can set the window on that one channel to something very
  13. large, and leave flow control to TCP. There is no message-specific data.
  14. \dt \cw{winadj@putty.projects.tartarus.org}
  15. \dd PuTTY sends this request along with some
  16. \cw{SSH_MSG_CHANNEL_WINDOW_ADJUST} messages as part of its window-size
  17. tuning. It can be sent on any type of channel. There is no
  18. message-specific data. Servers MUST treat it as an unrecognised request
  19. and respond with \cw{SSH_MSG_CHANNEL_FAILURE}.
  20. \lcont{
  21. (Some SSH servers get confused by this message, so there is a
  22. bug-compatibility mode for disabling it. See \k{config-ssh-bug-winadj}.)
  23. }
  24. \H{sshnames-kex} Key exchange method names
  25. \dt \cw{rsa-sha1-draft-00@putty.projects.tartarus.org}
  26. \dt \cw{rsa-sha256-draft-00@putty.projects.tartarus.org}
  27. \dt \cw{rsa1024-sha1-draft-01@putty.projects.tartarus.org}
  28. \dt \cw{rsa1024-sha256-draft-01@putty.projects.tartarus.org}
  29. \dt \cw{rsa2048-sha256-draft-01@putty.projects.tartarus.org}
  30. \dt \cw{rsa1024-sha1-draft-02@putty.projects.tartarus.org}
  31. \dt \cw{rsa2048-sha512-draft-02@putty.projects.tartarus.org}
  32. \dt \cw{rsa1024-sha1-draft-03@putty.projects.tartarus.org}
  33. \dt \cw{rsa2048-sha256-draft-03@putty.projects.tartarus.org}
  34. \dt \cw{rsa1024-sha1-draft-04@putty.projects.tartarus.org}
  35. \dt \cw{rsa2048-sha256-draft-04@putty.projects.tartarus.org}
  36. \dd These appeared in various drafts of what eventually became RFC\_4432.
  37. They have been superseded by \cw{rsa1024-sha1} and \cw{rsa2048-sha256}.
  38. \H{sshnames-encrypt} Encryption algorithm names
  39. \dt \cw{arcfour128-draft-00@putty.projects.tartarus.org}
  40. \dt \cw{arcfour256-draft-00@putty.projects.tartarus.org}
  41. \dd These were used in drafts of what eventually became RFC\_4345.
  42. They have been superseded by \cw{arcfour128} and \cw{arcfour256}.
  43. \H{sshnames-agent} Agent extension request names
  44. The SSH agent protocol, which is only specified in an Internet-Draft
  45. at the time of writing
  46. (\W{https://datatracker.ietf.org/doc/html/draft-miller-ssh-agent}\cw{draft-miller-ssh-agent}),
  47. defines an extension mechanism. These names can be sent in an
  48. \cw{SSH_AGENTC_EXTENSION} message.
  49. \dt \cw{add-ppk@putty.projects.tartarus.org}
  50. \dd The payload is a single SSH-2 \cw{string} containing a keypair in
  51. the PPK format defined in \k{ppk}. Compared to the standard
  52. \cw{SSH_AGENTC_ADD_IDENTITY}, this extension allows adding keys in
  53. encrypted form, with the agent requesting a decryption passphrase from
  54. the user on demand, and able to revert the key to encrypted form.
  55. \dt \cw{reencrypt@putty.projects.tartarus.org}
  56. \dd The payload is a single SSH-2 \cw{string} specifying a public key
  57. blob, as in \cw{SSH_AGENTC_REMOVE_IDENTITY}. Requests that the agent
  58. forget any cleartext form of a specific key.
  59. \lcont{
  60. Returns \cw{SSH_AGENT_SUCCESS} if the agent ended up holding the key
  61. only in encrypted form (even if it was already encrypted); returns
  62. \cw{SSH_AGENT_EXTENSION_FAILURE} if not (if it wasn't held by the
  63. agent at all, or only in cleartext form).
  64. }
  65. \dt \cw{reencrypt-all@putty.projects.tartarus.org}
  66. \dd No payload. Requests that the agent forget the cleartext form of
  67. any keys for which it holds an encrypted form.
  68. \lcont{
  69. If the agent holds any keys with an encrypted form (or no keys at all),
  70. returns \cw{SSH_AGENT_SUCCESS} to indicate that no such keys are now
  71. held in cleartext form, followed by a \cw{uint32} specifying how many keys
  72. remain in cleartext form (because the agent didn't hold an encrypted
  73. form for them). If the agent holds nothing but keys in cleartext form,
  74. returns \cw{SSH_AGENT_EXTENSION_FAILURE}.
  75. }
  76. \dt \cw{list-extended@putty.projects.tartarus.org}
  77. \dd No payload. Returns \cw{SSH_AGENT_SUCCESS} followed by a list of
  78. identities similar to \cw{SSH_AGENT_IDENTITIES_ANSWER}, except that
  79. each key has an extra SSH-2 \cw{string} at the end. Currently that
  80. \cw{string} contains a single \cw{uint32} flags word, with the
  81. following bits defined:
  82. \lcont{
  83. \dt Bit 0
  84. \dd If set, key is held with an encrypted form (so that the
  85. \c{reencrypt} extension can do something useful with it).
  86. \dt Bit 1
  87. \dd If set, key's cleartext form is not currently held (so the
  88. user will have to supply a passphrase before the key can be used).
  89. }