DzenIT

HOME ZEN IT SOFT APK LIVE GAME OTHER W CONTACT SEARCH

SSH FTP SFTP Termux

FTP

Предупреждение : простой FTP в любом случае устарел и небезопасен. FTP-сервер Termux поддерживает только анонимный вход в систему, никакой аутентификации нет, и каждый в вашей сети может получить доступ к файлам на вашем устройстве. Вместо этого используйте SFTP (OpenSSH)!

FTP-сервер Termux основан на busybox, а сервис управляется [Termux-services]. Если вы решили использовать FTP-сервер, установите эти пакеты:

pkg install busybox termux-services

После установки вам необходимо перезапустить сеанс или получить этот файл:

source $PREFIX/etc/profile.d/start-services.sh

Теперь вы готовы включить и запустить службу демона FTP:

sv-enable ftpd

sv up ftpd

SSH

SSH обеспечивает безопасный доступ к удаленным хостам и заменяет такие инструменты, как telnet, rlogin, rsh, ftp. Termux предоставляет SSH через два пакета: dropbear и openssh . Если вы никогда раньше не использовали эти инструменты, рекомендуется установить «openssh», так как он более распространен.

Использование SSH-клиента

Вы можете получить SSH-клиент, установив openssh или dropbear.

Пример

Чтобы войти на удаленную машину, на которой работает демон ssh на стандартном порту (22):

ssh user@hostname_or_ip

То же, что и выше, но если демон ssh работает на другом порту, например 8022:

ssh -p 8022 user@hostname_or_ip

Использование аутентификации с открытым ключом с помощью ssh, работающего на стандартном порту, и закрытого ключа, хранящегося в файле `id_rsa`:

 ssh -i id_rsa user@hostname_or_ip

Использование SSH-сервера OpenSSH

OpenSSH (также известный как OpenBSD Secure Shell) — это набор безопасных сетевых утилит, основанных на протоколе Secure Shell (SSH), который обеспечивает безопасный канал по незащищенной сети в архитектуре клиент-сервер.

Порт SSH по умолчанию в Termux — 8022.

Чтобы запустить сервер OpenSSH, вам необходимо выполнить эту команду:

sshd

Если вам нужно остановить `sshd`, просто завершите его процесс:

pkill sshd

Настройка аутентификации по паролю

Аутентификация по паролю включена по умолчанию. Это позволит вам начать работу с ним намного проще. Прежде чем продолжить, убедитесь, что вы понимаете, что аутентификация по паролю менее безопасна, чем аутентификация на основе открытого ключа.

1. Убедитесь, что все обновлено и установлен пакет openssh:

pkg upgrade
pkg install openssh

2. Аутентификация по паролю включена по умолчанию в файле конфигурации. Но вы все равно можете просмотреть его ($PREFIX/etc/ssh/sshd_config), он должен быть таким:

PrintMotd yes
PasswordAuthentication yes
Subsystem sftp /data/data/com.termux/files/usr/libexec/sftp-server

3. Установите новый пароль. Выполнить команду passwd. Хотя программа допускает минимальную длину пароля 1 символ, рекомендуемая длина пароля составляет более 8-10 символов. Пароли не выводятся на консоль.

$ passwd
New password:
Retype new password:
New password was successfully set.

Настройка аутентификации с открытым ключом

1. Если у вас нет ключей, вы можете их сгенерировать. В этом примере мы сгенерируем ключ RSA. На ПК выполните эту команду:

ssh-keygen -t rsa -b 2048 -f id_rsa

2. Скопируйте ключ на удаленную машину (Termux). Для установки pubkey на удаленном компьютере необходимо включить аутентификацию по паролю. Теперь сделайте:

ssh-copy-id -p 8022 -i id_rsa IP_ADDRESS

Не забудьте заменить «IP_ADDRESS» фактическим IP-адресом вашего устройства в локальной сети. Это можно определить с помощью команды ifconfig.

Если все в порядке, вы увидите сообщение, подобное этому:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh -p '8022' '192.168.1.4'"
and check to make sure that only the key(s) you wanted were added.

3. С этого момента аутентификация по паролю может быть отключена. Отредактируйте файл $PREFIX/etc/ssh/sshd_config и замените строку, начинающуюся с «PasswordAuthentication», на

PasswordAuthentication no

Использование SFTP

Пакет OpenSSH предоставляет инструмент для доступа к удаленным хостам через SFTP. Это позволит вам работать с файлами так же, как и через FTP, но с большей безопасностью.

Подключение к Termux (sshd прослушивает порт 8022):

$sftp-P 8022 192.168.1.20

Подключение к другому месту (прослушивание sshd на стандартном порту):

sftp sftp.example.com

Однако, чтобы использовать SFTP-клиент командной строки, вы должны знать некоторые основные команды:

cd PATH - изменить текущий каталог на `ПУТЬ`.

get REMOTE [LOCAL] - скачать файл `REMOTE` и переименовать его в `LOCAL` (необязательно).

mkdir PATH — создать каталог `PATH`.

ls [PATH] - список файлов в каталоге `PATH`. Если нет аргумента, будут перечислены файлы в текущем каталоге.

put LOCAL [REMOTE] - Загрузите файл `LOCAL` и переименуйте его в `REMOTE` (необязательно).

rm FILE - Удалить файл `FILE`.