"Сессия" против "Канала" (JSch и sshd) - PullRequest
6 голосов
/ 16 марта 2012

Я пытаюсь переместить небольшие файлы (в неизвестное время и в неизвестном количестве) с одного сервера на другой с помощью JSch - к сожалению, я пытался открыть сеансы для каждой передачи, которая быстро сработала (как я полагаю, MaxSessions) 10?).

Затем я открыл одну сессию (на хост) с помощью JSch и просто создал канал для каждого действия (одна посылка создаст канал, поместит файл, закроет канал), но я столкнулся с тем же (при попытке чтобы сделать это 10 или более раз, я бы получал отказ в соединениях, так как некоторые каналы все еще закрывались, когда поступал другой запрос).

Итак, я посмотрел на sshd_config и выяснил, что у них есть свойство MaxSessions, которое может пригодиться здесь - но меня удивляет, не существует ли свойство MaxChannelsPerSession или я запутался в отношении того, что такое JSch называет "канал" и что является фактическим каналом SSH.

Я использую самую последнюю версию JSch с 20120316.

(И самое главное, я должен опубликовать это в другом месте на сайте? Это своего рода , связанное с программированием, но я думаю, что это также часть sysadmin ...)

Ответы [ 2 ]

7 голосов
/ 17 марта 2012

Я автор JSch.

Свойство «MaxSessions» в sshd_config будет распознаваться как «MaxChannelsPerSession» в sshd OpenSSH.

1 голос
/ 30 сентября 2012

Просто для другой альтернативы:

Для передачи файлов JSch предлагает класс ChannelSftp .С его помощью вы можете передавать несколько файлов один за другим (или даже параллельно), используя только один канал (для каждого сервера).

Хотя я не знаю, дает ли это какие-либо преимущества в производительности.

...