IT:AD:SSH
- See also:
-
- IT:AD:Git Bash ← what you will have to use until you configure IT:AD:Powershell to be also be able to access IT:AD:SSH based functionality installed with IT:AD:Git.
- IT:AD:SSH-KEYGEN ← what you use to generate new keys.
- IT:AD:SSH-ADD ← what you use to register newly generated keys.
Summary
Secure communication across the web is most often done using IT:AD:SSL / it:ad:tls.
That's nice – as long as you can control all hops in between here and there.
An alternative is SSH.
It's required by many services – including IT:AD:BitBucket – who prefer it to passing Username/password – even over https – with every operation request.
ACiD
- Advantages:
- SSH messages are encrypted. And, for most connections, the encryption resets about every five minutes.
- Considerations:
- All corporate sites allow
HTTPS
through their firewall. Not all acceptSSH
(overTCP 22
). - BitBucket/Git offer
SSH
as one doesn't have to pass username/pwd with every command, which is suboptimal – even if secured by SSL/
- Disadvantages:
- Relatively harder to set up.
Prerequisites: Infrastructure
* Port:TCP 22
Process
The process of setting up SSH is done with a combination of IT:AD:SSH-KEYGEN, IT:AD:SSH-ADD, and other tools, and is more or less the following:
- After installing Git properly (ensuring PATH and HOME IT:AD:Environment Variables are updated):
- After installing IT:AD:Posh-Git properly (ensuring IT:AD:Powershell's
Microsoft.PowerShell_profile
invokes it when launching a new IT:AD:POSH): - After ensuring SSH is available from within IT:AD:Powershell:
- After determining if you have the necessary key pairs or not:
- After created new key pairs if you didn't:
- After sharing the public key with the remote service if need be:
- After registering the key pairs if need be:
- After configuring the relationship between a host url and the key:
- The following should work:
Most developers encounter those tools for the first time via IT:AD:Git Bash (the Shell emulator that is installed when IT:AD:Git is installed). For Windows developers more used to IT:AD:Powershell than a Linux shell, it's not hard to get those commands to be available there as well: * Install
Is all this actually needed?!?
The above is more than the average .NET developer wants to much around with, and considering the following:
you might be wondering if SSH is worth the pain, and not just stick with using HTTPS, as IT:AD:Visual Studio is doing.
To be continued….