Задача: Нужна шпаргалка, как мне с домашней системы под управлением Ubuntu 18.04 Desktop
ноутбука Lenovo E555
подключаться к моему vpn.ekzorchik.ru.
Просто у меня множество удаленных систем которые я обслуживаю и вот вспомнить как же к ним настраивается подключение порой трудно вспомнить, а тут я как пример сделаю заметку с целью сделать ~/.bashrc
где укажу алиасы подключения к VPS
системам через приватный ключ SSH.
Предыстория, может день не задался, но когда под вечер приводил доступы к единому виду, что-то сразу не вспомнил как я подключаюсь, просто обычно я с работы через mRemoteNG (+Putty)
подключаюсь, т.е. с Windows
, а вот дома то у меня в качестве рабочей Ubuntu LTS
, т.к. не так часто это делаю, то малость подзабыл.
Шаг №1:
У меня доступ к vpn.ekzorchik.ru
по SSH
осуществляется следующими настройками SSH
подключения:
ekzorchik@ekzorchik:~$ sudo nano /etc/ssh/sshd_config Include /etc/ssh/sshd_config.d/*.conf Port 33678 PermitRootLogin no PubkeyAuthentication yes PasswordAuthentication no AuthorizedKeysFile /etc/ssh/authorized_keys PermitEmptyPasswords no KbdInteractiveAuthentication no UsePAM yes AllowTcpForwarding yes PrintMotd no PrintLastLog yes TCPKeepAlive yes AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server AllowGroups sshauth
Шаг №2:
Доступ брандмауэром неограничен явно указанными адресами:
ekzorchik@ekzorchik:~$ sudo firewall-cmd --zone=public --list-all public (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: dhcpv6-client ports: 33678/tcp protocols: forward: yes masquerade: yes forward-ports: source-ports: icmp-blocks: rich rules: ekzorchik@ekzorchik:~$
Шаг №3:
а что если нужно с Ubuntu
системы подключаться использую ключ (приватный ключ), как быть в этом случае?
задействую заметку: "Ключ PPK и на Windows и на Ubuntu системах"
к примеру, у меня есть Ubuntu 18.04 Server (Client)
, моя домашняя система.
Открываю через PuTTYGen - Load
– выбираю ekzorchik@vpn.ekzorchik.ru_private_key.ppk (Приватный ключ)
, если защищен паролем вводим. После Conversions - Export OpenSSH key (force new file format)
и сохраняю его как <имя_подключения@<имя_хоста>.pem
, у меня это: W:\polygon\tips_key\ekzorchik@vpn.ekzorchik.ru_private_key_ubuntu1804.pem
копирую пересохраненный приватный ключ ekzorchik@vpn.ekzorchik.ru_private_key_ubuntu1804.pem
на Ubuntu 18.04 Desktop
любым способом которым сможете, к примеру: nautilus - smb://172.35.35.24/key
(каталог C:\Key
расшарен для всех)
копирую данный приватный ключ в каталог ~/.ssh/
Шаг №4:
Открываю консоль командной строки на Ubuntu 18.04 Desktop
и набираю данные подключения:
ekzorchik@srv-ud1804a:~$ ssh -l ekzorchik vpn.ekzorchik.ru -p 33678 -i ~/.ssh/ekzorchik@vpn.ekzorchik.ru_private_key_ubuntu1804.pem The authenticity of host '[vpn.ekzorchik.ru]:33678 ([185.240.103.236]:33678)' can't be established. ECSDSA key fingerprint is SHA256:<key>. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '[vpn.ekzorchik.ru]:33678,[185.240.103.236]:33678' (ECSDA) to the list of known hosts. Welcome to Ubuntu 22.04 LTS ekzorchik@ekzorchik:~$
у меня не было запроса на разблокировку использования приватного ключа, т.к. я, когда через PuttyGen
пересохранял его не указал парольную фразу которым защищен у меня приватный ключ.
А если сделать чтобы приватный ключ в "После Conversions - Export OpenSSH key (force new file format)
и сохраняю его как <имя_подключения@<имя_хоста>.pem"
указать:
Key passphrase: указываю парольную фразу
Confirm passphrase: подтверждаю парольную фразу
и сохраняю:
ekzorchik@vpn.ekzorchik.ru_private_key_ubuntu1804p.pem
Инициирую подключение с использованием приватного ключа сохраненного под именем (ekzorchik@vpn.ekzorchik.ru_private_key_ubuntu1804p.pem)
к узлу vpn.ekzorchik.ru
ekzorchik@srv-ud1804a:~$ ssh -l ekzorchik vpn.ekzorchik.ru -p 33678 -i ~/.ssh/ekzorchik@vpn.ekzorchik.ru_private_key_ubuntu1804p.pem Enter passphrase for key '/home/ekzorchik/.ssh/ekzorchik@vpn.ekzorchik.ru_private_key_ubuntu1804p.pem': Welcome to Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-73-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Thu Feb 1 12:39:31 PM MSK 2024 System load: 0.0 Processes: 95 Usage of /: 28.3% of 29.43GB Users logged in: 1 Memory usage: 17% IPv4 address for eth0: 185.240.103.236 Swap usage: 0% IPv4 address for tun0: 10.9.0.1 * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s just raised the bar for easy, resilient and secure K8s cluster deployment. https://ubuntu.com/engage/secure-kubernetes-at-the-edge Expanded Security Maintenance for Applications is not enabled. 73 updates can be applied immediately. To see these additional updates run: apt list --upgradable 1 additional security update can be applied with ESM Apps. Learn more about enabling ESM Apps service at https://ubuntu.com/esm *** System restart required *** Last login: Thu Feb 1 12:30:32 2024 from 176.195.146.227 ekzorchik@ekzorchik:~$
Шаг №5:
По итогу, прописываю себе алиас на подключение к vpn.ekzorchik.ru
в ~/.bashrc:
ekzorchik@srv-ud1804a:~$ nano ~/.bashrc alias srv-vpn='ssh -l ekzorchik vpn.ekzorchik.ru -p 33678 -i ~/.ssh/ekzorchik@vpn.ekzorchik.ru_private_key_ubuntu1804p.pem' ekzorchik@srv-ud1804a:~$ source ~/.bashrc ekzorchik@srv-ud1804a:~$ srv-vpn Enter passphrase for key '/home/ekzorchik/.ssh/ekzorchik@vpn.ekzorchik.ru_private_key_ubuntu1804p.pem': Welcome to Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-73-generic x86_64)
Вот теперь так лучше, чтобы не набирать все строку подключения, а использовать алиас вида: srv-vpn и будет инициировано подключение к VPS
системе.
На этом моя шпаргалка самому себе успешно завершена, с уважением автор блога Олло Александр aka ekzorchik.