Secure Shell (SSH) — это тип сети, которая передает данные в зашифрованном формате. Это также способ безопасного соединения двух компьютеров. Важно понимать SSH в повседневной жизни, потому что он позволяет любому подключать свои устройства к Интернету и по коммерческим причинам. Это важно для людей, желающих удаленно подключаться к своим компьютерам; кто управляет лабораторией по науке о данных, не платя за облачный сервис (AWS, Google Cloud), имеет достойную вычислительную мощность для людей, занимающихся анализом данных и разработками. Я покажу вам свой (более безопасный) способ установки соединения с системой Linux/Windows.

Моя установка:

Компьютер Процессор AMD 2700x с терминалом Ubuntu 18.04 LTS

Новый iPad Pro 2020 (Wi-Fi + сотовая связь) с Juno Connect (10 долларов США) + Termius

Примечание. Выше приведены партнерские ссылки для получения прибыли, и я также использую эти продукты. Если бы вы хотели их купить, это бы мне очень помогло :)!

Настройка SSH-сервера

Это для компьютера, к которому вы хотите подключиться.

  1. АктивироватьWSL (открыть приглашение администратора PowerShell)

2. ЗагрузитеТерминал Ubuntu из Магазина Windows. При появлении запроса введите имя пользователя и пароль.

3. Скопируйте и вставьтеэти команды, чтобы обновить подсистему Linux.

$ sudo apt update -y
$ sudo apt upgrade -y

4. Настройте SSH.

$ sudo apt install openssh-server -y
$ sudo nano /etc/ssh/sshd_config

Настроить

PubKeyAuthentication yes
PasswordAuthentication no

Если вы не знаете, как выйти из nano, это: ctrl + x , y и нажмите «Enter».

5. НастройкаSSH (при условии, что вы находитесь в домашнем каталоге).

$ sudo /usr/bin/ssh-keygen -A
$ ssh-keygen -t rsa -b 4096
$ chmod 700 .ssh
$ touch .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
$ sudo service ssh restart
$ sudo service ssh start

6. Переадресация

Эта часть немного сбивает с толку, потому что у людей разные системы и версии Windows. Вы должны открыть порт 22 в брандмауэре Windows и на маршрутизаторе. Для маршрутизатора найдите IPv4 вашего компьютера и настройте маршрутизатор так, чтобы протокол TCP и порт 22 были открыты для этого IPv4.
**ПРИМЕЧАНИЕ. **: Иногда порт 22 не работает по умолчанию в зависимости от вашего интернет-провайдера. Таким образом, сделайте какой-нибудь другой порт, например 1024, и измените его в файле etc/ssh/sshd_config.

7. Сохранить IP-адрес маршрутизатора.

Вы можете найти это на ipchicken.com. Сохраните это, потому что это понадобится вам для доступа к вашей домашней сети. Запишите его где-нибудь для дальнейших шагов.

8. Сохранить имя пользователя

username — это имя, которое вы впервые ввели при открытии терминала. Это легко найти при открытии Ubuntu. Например: <username>@<desktop_name>.

9. Сохранитьзакрытый ключ

Вам потребуется копия закрытого ключа для отправки на удаленный компьютер/iPad. Для этого введите:

$ cp .ssh/id_rsa /mnt/c/Users/<desktop_name>/<any folder to put key in>

После того, как у вас есть копия вашего закрытого ключа, вы можете либо отправить ее себе по электронной почте на iPad, либо передать через iTunes. Не забудьте потом удалить копию в целях безопасности.

Настройка сервера ноутбуков Jupyter

Это относится к компьютеру как к серверу. Мы почти там!

  1. Получитьрепозиторий python в Ubuntu
$ sudo apt install python -y
$ sudo apt-get install python3-distutils
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python get-pip.py
$ sudo apt install -y python3-pip

2. ПолучитеJupyter Notebook и запустите его в Ubuntu.

$ pip3 install jupyterlab
$ jupyter lab --broswer=No

Подключение к серверу ноутбуков с iPad

  1. ЗагрузитеJuno Connect (~ 10 долларов США) через App Store.
  2. Настройте параметры Add Jupyter Server...

Host: Это ip address найдено на ipchicken.com с домашнего сервера.

User: Это имя создается из терминала Unix/Ubuntu при первом запуске.

Private Key: Это ключ, созданный командой ssh-keygen-t rsa -b 4096. Эта копия уже должна быть у вас и перенесена на ваш iPad в Files.

Примечание. Вы также можете вставить ключ из буфера обмена, отправив текстовый формат ключа вместо файла. Вы можете получить текстовый формат ключа с помощью этой команды в терминале Ubuntu: cat .ssh/id_rsa и скопировать его (если вы не знаете, как это сделать, погуглите).

Вот оно! После настройки вы готовы подключиться к Jupyter Notebook через iPad с помощью Juno Connect :).

Примечание. У вас должен быть открыт терминал Ubuntu и запущены как SSH-сервер, так и Jupyter Notebook.

Образец (моя установка)

Если у вас есть какие-либо вопросы, не стесняйтесь обращаться по электронной почте ([email protected]) или оставить комментарий ниже. Я возвращаюсь довольно быстро.

Держите кнопку хлопка, чтобы читатели быстрее нашли мою историю :)!