Что ж, этот доступ «у меня нет root» на сервере A может стать проблемой для создания хорошего решения VPN, поскольку:
ip
, чтобы разрешить создание tun
интерфейс; CAP_NET_ADMIN
или CAP_NET_RAW
, а запуск демона IKE от имени пользователя без полномочий root нарушает поддержку сценария обновления iptables. Что вам остается, друг мой: положитесь на SSH socks прокси . На локальном компьютере и от имени пользователя root выполните:
ssh -C2qTnN -D 8080 username@serverA
Средство : Сжатие, только SSH2, Тихо, Принудительное выделение псевдо-tty, Перенаправить stdin из / dev / null и Поместить клиент ssh в " master "режим совместного использования соединения.
Теперь все, что вам нужно сделать, это запустить приложение. Если он имеет встроенную поддержку SOCKSv5, такую как Firefox, просто нужно настроить «localhost: 8080» в качестве прокси-сервера.
Если ваше приложение изначально не поддерживает этот прокси, запустите его с помощью proxychains . Просто установите на свой клиент, и все готово.
Единственное решение, которое вы не хотите принимать, к сожалению, кажется единственным.
Ссылки:
Я сделал это с помощью awk, grep и sed. Предполагая, что в исходном файле нет конечных пробелов.
awk 'NR>1&&/>/{print ""}{printf " %s", $0}END{print ""}' file |grep chr|sed 's/^ //' |sed 's/^.*chr/>chr/' |awk 'BEGIN{OFS="\n";}{print $1,$2,$3,$4}'
Во-первых, сгруппируйте начальные строки с помощью '>' и предваряйте каждое поле пробелом
>text chr1 AAA BBA AAA
>additional text chr2 ABA AAA CCC TTT
>some text chr3 TTT CCC TCT
>no good text 1 3 AAA CCC TCT
>unimportant text 2 3 3 ACC CCC TCT
Во-вторых, отфильтруйте все строки, содержащие подстроку "chr"
>text chr1 AAA BBA AAA
>additional text chr2 ABA AAA CCC TTT
>some text chr3 TTT CCC TCT
в-третьих, удалить все начальные пробелы
>text chr1 AAA BBA AAA
>additional text chr2 ABA AAA CCC TTT
>some text chr3 TTT CCC TCT
в-четвертых, удалить все символы между ">" и "chr"
>chr1 AAA BBA AAA
>chr2 ABA AAA CCC TTT
>chr3 TTT CCC TCT
и, наконец, используйте awk для печати всех строк с "\n" в качестве разделителя выходного файла
>chr1
AAA
BBA
AAA
>chr2
ABA
AAA
CCC
>chr3
TTT
CCC
TCT