- /.ssh - your hidden directory contains all your ssh certificates idrsa.pub OR iddsa.pub are RSA public keys, (the private key located on the client machine). The primary key for example can be used to enable cloning project from remote repository securely to your client end point.
- Linux ssh server configuration is stored in /etc/ssh folder with a name sshdconfig. This configuration file provides a lot of configuration parameters. We can print the current port configuration with the following command by grepping Port text. $ cat /etc/ssh/sshdconfig grep Port.
Enable the SSH server in Windows
You need to add the optional feature ‘OpenSSH Server’ in Windows 10 first by going to Settings
-> search for Add an optional feature
-> search again for OpenSSH Client
and choose to install.
AbsoluteTelnet / SSH is a telnet and SSH client for Windows. A secure flexible SSH client with SFTP file transfer and rock-solid emulations that is suitable for developers, administrators, or deployment across the enterprise. The default command shell provides the experience a user sees when connecting to the server using SSH. The initial default Windows is the Windows Command shell (cmd.exe). Windows also includes PowerShell and Bash, and third party command shells are also available for Windows and may be configured as the default shell for a server. Find the SSH section, and click enable. From now on your SSH will be permanently enabled. Note: You'll see no change when clicking on the button, but it will be ok. Second method: file (more advanced) Mount your SD card on your computer. Create or copy a file called ssh in /boot.
Configure SSH service to automatically start
By default Windows won’t start the ssh-agent
. You can tell Windows to start the service automatically in the future by running the following command in PowerShell (as Administrator).
But right now, manually start the service by running
Generate the key
Open PowerShell and follow these commands to generate SSH key on your machine.
Keep the default location for where to save the key. This should be C:Users<username>/.ssh/id_rsa.
Generate a complex password and store in safe place, ideally a password manager.Enter this password when prompted. When complete you’ll be shown the key fingerprint
and the key's randomart image
.
Add key to the SSH Agent
We need to add the key to our ssh-agent so we don’t have to type the key each time we use it.
The agent will recognise that a new key is present and will ask for the passphrase.
Once entered you’ll see the confirmation message Identity added
.
I still needed to manually add the key to the ssh-agent. To do so navigate to the .ssh
folder where we stored our keys earlier C:Users<username>/.ssh/
and run the following with the correct key name.
This will prompt you to enter the passphrase in and once again you should see the Identity added
confirmation.
Access your public key
Now we have our key we can add it to systems such as GitHub or Bitbucket. To do so follow the instructions for that particular service. We’ll need to retrieve the public key from our machine to do so.
Navigate to the .ssh
folder and find the file <private-key>.pub
. Open this in a text editor. The contents of this file is what you need to copy and paste into the relevant service you’re wanted to add the key to.
Testing the keys
In this example lets assume we’ve added our key to Bitbucket. We can test that the key is correctly set up by running the following command.
If all is well then we should see the logged in as
message without needing to enter the passphrase
Using with Git
By now we have our key correctly stored in the SSH agent and we’re allowed to connect to the Bitbucket servers using SSH. However we might still be prompted to enter our passphrase whenever we try to perform a git
command that talks to the remote.
The ssh -T
command uses the Windows 10 agent so all appears to be correct, but it won’t behave the same in Git. This is due to the fact Git is using it’s own ssh agent, not the Windows 10 agent that we’ve added our keys to.
We need to tell Git to use the Windows SSH agent instead of it’s own. We do this by updating the git config
.
Now when we use Git, we won’t be prompted for our passphrase, even after a restart.
References
SSH access on volumio
When SSH is activated on Volumio (see below how to) you can access your device using:
From Windows : Putty
From Linux : commande ssh from a terminal
From MacOs openssh
Once it is ready, use to log in:
user: volumio
password: volumio
Example (linux) : ssh volumio@192.168.1.54
Type Enter
. It retruns:
volumio@192.168.1.54's password:
Type volumio
(password, case sensitive) and Enter
And here you are !
From here you can get a full access to your device.Some command requires Root privilèges. To do that use sudo
with password volumio
example sudo nano /etc/samba/smb.conf
WARNING! You can damage your Volumio with sudo
. Editing system files may prevent Volumio to be updated over the air (integrity check will fail).
How to enable SSH
For security reasons, SSH is disabled by default on all versions after 2.199 (except first boot). It can be however enabled very easily. See below!
Find Ssh Port
First method: DEV UI (easy)
Navigate to the DEV ui by pointing your browser to VOLUMIOIP/DEV or volumio.local/DEV . Find the SSH section, and click enable. From now on your SSH will be permanently enabled.
Note : You'll see no change when clicking on the button, but it will be ok.
Find Ssh Key Windows
Second method: file (more advanced)
Find Ssh Public Key
Mount your SD card on your computer.
Linux Find Ssh Version
Create or copy a file called ssh in /boot . You can do it right after flashing Volumio, by creating it in the 'Boot' partition of your SD Card.