Подключение к sftp-серверу, настройки на клиенте.
Устанавливаем необходимые пакеты.
sudo apt install -y tor openssh-client sshfs
Конфигурируем tor и подключаемся к tor-сети.
Создаём каталог для точки монтирования.
mkdir ~/sshfs
Подключаемся к sftp-серверу.
torsocks sshfs user1@host_name.onion:/ /home/user_name/sftp -o port=4569
user1 ― имя пользователя sftp-сервера
host_name.onion ― имя хоста sftp-сервера из файла /var/lib/tor/hidden-service-sftp/hostname на сервере.
/ ― путь на сервере, можно указать /upload
/home/user_name/sftp ― точка монтирования в локальной файловой системе.
port=4569 ― порт на котором принимает подключения sftp-сервер.
При первом подключении будет задан вопрос о корректности отпечатка ключа, вводим yes
, на запрос пароля вводим пароль пользователя user1 заданный на sftp-сервере. После подключения можно копировать необходимые для передачи на сервер файлы в каталог
cp /путь/до/файла /home/user_name/sftp/upload
они будут отправлены на сервер.
Подключаем авторизацию клиентов Onion Service…
Если на sftp-сервере настроена авторизация Onion-клиентов, на клиенте создаём каталог
sudo mkdir /var/lib/tor/onion_auth
Задаём владельца каталога
sudo chown debian-tor:debian-tor /var/lib/tor/onion_auth
Создаём файл
sudo nano /var/lib/tor/onion_auth/client1.auth_private
В который помещаем текст
имя_host-а_без_.onion':descriptor:x25519:x25519-private-key-in-base32
Где x25519-private-key-in-base32 ― текст из файла /home/user/client.prv.key, созданного при конфигурации сервера.
Сохраняем файл <Ctrl>+<X>, <Y>. Выдаём ему права
sudo chown root:debian-tor /var/lib/tor/onion_auth/client1.auth_private
sudo chmod 440 /var/lib/tor/onion_auth/client1.auth_private
В /etc/tor/torrc на клиенте добавляем строчку
ClientOnionAuthDir /var/lib/tor/onion_auth
Перезапускаем tor
sudo systemctl restart tor
Подключаемся к sftp-серверу.
torsocks sshfs user1@host_name.onion:/ /home/user_name/sftp -o port=4569
Авторизация sftp по ключам…
Если на sftp-сервере настроена авторизация по ключам, то запускаем ssh-agent
ssh-agent bash
bash ― имя командного интерпретатора, может быть как-то другой, установленный в вашей системе
Добавляем в агент приватный ключ ssh созданный при настройке сервера (файл /home/debian/.ssh/id_ed25519).
ssh-add /путь/до/id_ed25519
Вводим пароль ключа, если он был задан при его создании. Подключаемся к sftp-серверу.
torsocks sshfs user1@host_name.onion:/ /home/user_name/sftp -o port=4569
Пароль запрашиваться не будет.