LINUX.ORG.RU
ФорумAdmin

Ssh команда

 


1

2

Здравствуйте. Помогите решить задачку. Есть хост и удаленный vps. Задача, скачать любую утилиту через apt install вводят команду на скачивание из терминала хоста, но что бы создался ssh тунель до vps и скачивание шло именно на vps и пакеты шли по ssh на хост. Подскажите команду подобную. Я использовал команду ssh sc. Она копирует файлы/директории с удаленного vps по ssh. Пробовал сначала скачать на vps , а потом откопировать скаченые файлы на хост, а так как установка в линакс раскидывает скаченную программу по разным директориям ,я не смог найти все скаченые файлы. Поэтому ищу однострочную команду выполнения скачивания любой утилиты на удаленном vps и что б это скачивание происходило на хост, а не на vps. Подскажите…

ssh -L ?? ssh-тунель
поставить на впс прокси и настроить прокси в апте хоста.
apt-get download - скачивает .deb пакет в текущую директорию.
зачем выкачивать бинари установленного пакета с впс ?? они на такое не рассчитаны. пакет и создан для удобной дистрибуции.
тебе сделать дело или в однострочник поиграться ??

плиз, перепиши технически грамотно, разделяя отдельные смысловые конструкции переводами строк и т.д. ибо поток raw-сознания труден для понимания.

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 2)
Ответ на: комментарий от pfg

Спасибо за подсказку. Apt-get download я не пробовал. То есть тут за место install пишется download?

Выходит я могу установить в текущую директорию на vps утилиту. А далее просто скопировать с впс на хост эти файлы через ssh sc. И впринцепе утилита должна запуститься на хосте? Или ее надо распаковать будет из этих откопированных файлов?

Andre121200
() автор топика
Ответ на: комментарий от Andre121200

ты не понимаешь внутренних действий install и download ?? :(
man apt-get

зачем устанавливать пакет на впс если он тебе нужен для установки на хосте ?? или что тебе нужно ??
напиши простыми словами что тебе надобно старче.

pfg ★★★★★
()
Ответ на: комментарий от Andre121200

ну вот, чОтко и кОнкретно :)

  1. поставить прокси на впс и настроить параметры прокси в апт на хосте. доступ к хостовому порту прокси можно пробросить через ssh -L коль так надо.
    основной плюс - апт самостоятельно может докачать пакеты из зависимостей.
  2. скачать пакет на впс (apt-get download), перекачать пакет (не разбирая на впс) на хост и установить пакет на хосте.
    минус - зависимости надо обрабатывать ручками.

да пардон. совсем забыл что в ssh завезли свой прокси сервер. вместо первого пункта юзать ssh -D как указали чуть выше.

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)
Ответ на: комментарий от pfg

Привет еще раз. Я так понимаю тут надо настроить ssh как прокси и apt что б работал через этот прокси. Тока где и что править? Я сам не разберусь. У меня хост дистрибутив на основе дебиан. В каких конфигах поавить и что конкретно вписывать. Если есть время, подскажите. Спасибо за ранннннеее

Andre121200
() автор топика
Ответ на: комментарий от goingUp

На впс под рутом: apt-get download утилита Качает до 60-65%, далее пишет error 13 : permission deni. Что то такое. Я так понимаю не все скачивает, и где то отказывает в доступе. Текущая директория home/downloads. А как быть?

Andre121200
() автор топика
Ответ на: комментарий от Andre121200

тестировать не на чем :) но както так

в /etc/apt/apt.conf.d/proxy.conf прописываешь

Acquire::http::Proxy "socks5h://127.0.0.1:1080";
Acquire::https::Proxy "socks5h://127.0.0.1:1080";
Acquire::socks::Proxy "socks5h://127.0.0.1:1080";

на локалке запускаешь ssh -D 1080 user@remoteserver

пробуешь

pfg ★★★★★
()
Ответ на: комментарий от Andre121200

все правильно. произошел коннект по ssh и попутно(!) открылся канал прокси-доступа от локалки к удаленке.
пока коннект к ssh работает - будут работать и пробросы портов.
можно кажись и не создавать cli-конект… не помню.

открытость можно глянуть через lsof -i4 в локалке. на одной из строк в колонке command будет ssh, в колонке node будет tcp, в колонке name будет *:1080 (LISTEN) т.е. порт 1080 открыт ssh на прослушивание.

проверить можно curl --socks5 127.0.0.1:1080 -v check-http://httpbin.org/ip должно вывести лог соединения через проксю и айпишнек удаленного сервера.

теперь запускай апт (он настроен работать через сокс-прокси ssh) и он должон работать…

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 2)
Ответ на: комментарий от pfg

Так. Команда lsof вывела две кстроки ssh. Онда в строке name указывает мой айпи->айпи впс:ssh ( established)

А вот вторая строка тоже в столбце command стоит ssh, но в столбце name написано localhost:socks (listen).

Команда curl не запускается , пишет типа disable в какойто lib. Далее пробую скачать с хоста через apt утилиту. И не понятно толи она напрямую качает , толи через ssh прокси, как то в логах скачивания можно это понять. Я ьам вижу тока сайты debian в адресах откуда качает

Andre121200
() автор топика

Тебе на работе выдали линукс и сказали ничего не устанавливать отрубив все ссылки на репозитории? Зачем на удалённой машине скачивать deb пакет что бы скопировать его на свою и потом устанавливать? Если ты можешь просто на своей машине и скачать и установить.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от Andre121200

тестанул из дома. ошибка у меня в строке нужно curl --socks5 127.0.0.1:1080 -v http://httpbin.org/ip вот ответ

$ curl --socks5 127.0.0.1:1080 -v http://httpbin.org/ip
*   Trying 127.0.0.1:1080...
* SOCKS5 connect to IPv4 18.207.88.57:80 (locally resolved)
* SOCKS5 request granted.
* Connected to 127.0.0.1 (127.0.0.1) port 8456 (#0)
> GET /ip HTTP/1.1
> Host: httpbin.org
> User-Agent: curl/7.81.0
> Accept: */*
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Wed, 12 Oct 2022 20:25:54 GMT
< Content-Type: application/json
< Content-Length: 33
< Connection: keep-alive
< Server: gunicorn/19.9.0
< Access-Control-Allow-Origin: *
< Access-Control-Allow-Credentials: true
< 
{
  "origin": "***.***.228.214"
}
* Connection #0 to host 127.0.0.1 left intact

«***.***.228.214» это адрес удаленного ssh-сервера, значит socks-прокси через ssh -D работает.

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)