Still using Putty + WinSCP/FileZilla?
Then we recommend paying attention to such software as xShell.
- It supports not only the SSH protocol, but also others. For example, telnet or rlogin.
- You can connect to multiple servers at the same time (tab mechanism).
- There is no need to enter data every time, they can be remembered.
- Starting with the 6th version, a Russian interface has appeared, it understands all Russian encodings, including UTF-8.
- Supports both password connection and key connection.
- Moreover, now you do not need to run WinSCP or FileZilla separately to manage files via ftp/sftp.
- The developers of xShell took your needs into account and also made xFtp, which supports regular FTP and SFTP.
- And the most important thing is that xFtp can be launched directly from an active ssh session and it will immediately connect to this particular server in file transfer mode (using the sFtp protocol). But you can open xFtp yourself and connect to any of the servers.
Also included is a public / private key generator and a manager for managing them.
Completely free for personal non-commercial use or education.
Fill in the fields, be sure to email to which you have access, a download link will be sent there.
Download and install both apps. We launch.
After starting, we see a window with a list of saved sessions, while it is empty. Click "new"
We fill in the data for the connection, port / host / ip address, as well as the desired session name.
Next, go to authentication and fill in the login with the password.
Further Ok and we are connected to the server.
For xFTP everything is the same. The only thing you need to select is the protocol, the default will be sFTP, you can choose regular FTP.
The most convenient thing is that the selected text is automatically copied to the clipboard
(Tools - options - keyboard and mouse - copy the marked text to the clipboard).
You can connect not only with a password, but also using a key, which is much safer and more convenient.
It is necessary to generate our key, to be more precise, a pair of public / private keys.
Run Xagent (installed in the kit).
We see the list of keys while it is empty. Click Manage Keys, then Generate
Type RSA
Length 4096 bits minimum.
Click Next, wait. Then again Next
We name the key as it is convenient for us, if desired, you can protect the key by setting an additional password (it will be requested when connecting or importing the key on another device)
Further Next and we see actually our PUBLIC key. We use it to connect to the server. One key can be used on many servers, which is convenient.
This completes the generation, but not all.
You need to add the key on the server.
We connect to the server via ssh and go to /root/.ssh
root@alexhost# cd /root/.ssh
which in 90% of cases we get the error -bash: cd: /root/.ssh: No such file or directory
this is normal, this folder is missing if keys have not been generated on the server before.
It is necessary to generate the key of the server itself in a similar way.
root@alexhost# ssh-keygen -t rsa -b 4096
We will be prompted for the path where to save the key file.
We agree to the default /root/.ssh/id_rsa by pressing Enter.
Next, the password for the key file and confirmation, or leave blank and Enter.
Go to /root/.ssh again:
root@alexhost# cd /root/.ssh
You need to create an authorized_keys file:
root@alexhost# nano authorized_keys
We insert into it our key in text form obtained above:
Save, exit.
Ctrl + O
Ctrl + X
Go to xShell, call the list of saved sessions (Alt + O)
We find our session, click properties, go to authentication.
In the method field, select public key.
In the user key field, select our previously created key, save and connect.
The client uses a PRIVATE key, the server uses a PUBLIC key.
The private key can be transferred to your other PC if you want to connect from it.
In Xagent - manage keys, select the key - Export, save.
On another PC Xagent - manage keys - Import, select, add. If the key was password protected, the password will be requested at this point.
The key can be assigned to any user, not just root.
Path standard /user_home_folder/.ssh/authorized_keys
For the user alexhost, for example, by default it will be /home/alexhost/.ssh/authorized_keys
Source: habr.com