В /etc/ssh/sshd
для Компьютера B набор:
AllowTcpForwarding yes
TCPKeepAlive yes
От компьютера A:
$ ssh -R 2222:localhost:22 ip.of.computer.b
От компьютера B:
$ ssh localhost -p 2222
Обратите внимание, что 2222 произвольный высокий номер порта, который я выбрал. Тот порт на Компьютере B будет затем туннелирован назад посредством соединения SSH, инициализированного на Компьютере для портирования 22. Если у Вас есть несколько машин, необходимо использовать другой порт для каждой машины.
Для Вашего варианта использования Вы, вероятно, захотите выполнить это из сценария так, чтобы можно было сделать его демоном и периодически пытаться снова соединиться, если ссылка отбрасывается. Вы, вероятно, захотите специальную учетную запись с оболочкой просто /bin/true
на Компьютере B для обработки входящих соединений. Можно затем установить или единственный ключ или несколько ключей для каждой машины, которым позволяют "звонить домой".
На Компьютере Вы могли бы найти -n
, -N
и -T
опции, полезные для разъединения его от локального входа (таким образом, это может работать в фоновом режиме), не, пытаются выполнить любую удаленную команду, просто открыть туннель и не создать tty.
Большинство нормальных методов порождения демона не работает очень хорошо с установкой сетевого туннеля как это. Проблема в сетевом соединении заставила бы его попытаться сбить стену для прохода. Простой цикл со сном для ожидания должен добиться цели. Десять минут являются хорошим числом, потому что оно не лавинно рассылает сетевые файлы и файлы журнала с attemps, если существует проблема (как Компьютер B быть в режиме офлайн), но оно все еще возвращает Вас в довольно быстром, если соединение отбрасывается.
#/bin/sh
while true; do
sleep $((60*10))
ssh -nNT -R 2222:localhost:22 ip.of.computer.b
done
Скрипт как этот может быть запущен запущенный на начальной загрузке /etc/rc.local
. Ваше первое изменение, которое войдет в машину, запустится спустя приблизительно десять минут после Компьютера начальные загрузки.
Необходимо, вероятно, посмотреть на GParted; пока Вы работаете в Gnome, он будет работать без потери данных. В противном случае существует версия LiveCD/media, которая позволяет Вам загрузить и реконфигурировать, не включая текущую ОС.
Что-то для рассмотрения для будущих системных установок использует LVM (страница справочника, ссылка Википедии, дополнительная подробная ссылка), который позволяет этот вид перераспределения на лету без специального программного обеспечения. Я вполне уверен, Вы не можете преобразовать существующую файловую систему в LVM, не восстанавливая его. Я использую LVM в одной из моих домашних систем, и он делает добавляющие дополнительные физические диски довольно тривиальными - они просто добавляются к группе объема, и затем я выделяю по мере необходимости.
Умная и безопасная вещь сделать состоит в том, чтобы загрузиться с живого CD и изменить размер с CD, так как раздел не должен быть смонтирован в этом случае.
Разделенным волшебством является живой CD, особенно сделанный повторно разделить диски.
PS Берет предложение LVM с мелкой частицей соли. Для меня LVM, кажется, использует много ресурсов. Конечно, YMMV.