Обратный SSH "Connection closed by ::1"

Единственным путем я могу думать о выполнении, это должно циклично выполниться многократно с находкой и выполнить сценарий, который удаляет файлы после того, как они были правильно распакованы. Это должно будет пробежаться через подкаталоги многократно, таким образом, это не точно эффективно. (ожидаемые имена файлов полужирным на вершине)

recursive_unpack

#!/bin/bash
if [ -d "$1" ]; then
   STARTDIR="$1"
else
   echo "starting dir not found: $1"
   exit
fi


COUNTER=1
while [ $COUNTER -gt 0 ]; do
   COUNTER=`find "$STARTDIR" -type f \( -iname '*.zip' -o -iname '*.rar' \) -exec ./unpacker \{\} \; | wc -l`
done

неупаковщик

#!/bin/bash
BASENAME=`basename "$1"`
BASEDIR=`dirname "$1"`

cd "$BASEDIR"
EXT=`echo "$BASENAME" | awk -F . '{print $NF}'`

if [ "$EXT" = "zip" ]; then
  unzip -qq "$BASENAME"
  if [ $? -eq 0 ]; then
     echo "zip unpacked: $1"
     rm "$BASENAME"
  fi
fi

if [ "$EXT" = "rar" ]; then
  unrar e -y -c- -inul "$BASENAME"
  if [ $? -eq 0 ]; then
     echo "rar unpacked: $1"
     rm "$BASENAME"
  fi
fi

сделать

chmod u+x recursive_unpack
chmod u+x unpacker

назовите его с ./recursive_unpack "/my/directory/containing/my/files"

  • recursive_unpack ожидает неупаковщика в том же каталоге
  • unrar и unzip потребность, которая будет установлена
  • если это не может найти каталог, это выйдет с ошибкой
  • не удаляйте сообщения эха в неупаковщике, они используются для проверки на присутствие файлов для распаковки для завершения цикла
3
02.11.2015, 18:05
2 ответа

Что вы делаете: создаете ssh-соединение от raspi к шлюзу, и пересылаем *: 10110 со шлюза на 127.0.0.1:22 на распи. Затем вы подключаетесь к порту 10110 @ localhost, который в некоторых конфигурациях может использовать ip6-адрес (:: 1), за которым нет туннеля. Затем sshd закрывает соединение. Попробуйте

ssh -4 -p10110 pi@localhost

. Это поможет вам сделать еще один шаг вперед. Если у вас возникли проблемы с поиском правильного ключа (ssh останавливается после определенного количества проверенных ключей), отключите pubkeyauth с

ssh -oPubkeyAuthentication=no -4 -p10110 pi@localhost
1
27.01.2020, 21:31

Ваш ssh клиент, похоже, подключается к вашему sshd через IPv6. Слушает ли sshd адреса IPv6? Добавьте эту строку в / etc / ssh / sshd_config и перезапустите sshd :

ListenAddress ::

Или вы можете принудительно установить соединение IPv4 с аргументом ssh -4 .

0
27.01.2020, 21:31

Теги

Похожие вопросы