Обеспечьте соединение

Я использую библиотеку ssh.net для связи с SFTP-сервером. В моем приложении мне нужно загружать и загружать много файлов на сервер. Поэтому мне приходится много раз открывать и закрывать соединения.

Я хотел бы знать, лучше ли открыть одно соединение и всегда держать его открытым, пока я завершаю свои действия, а затем только закрываю соединение. Будет ли проблема с безопасностью, если я оставлю соединение открытым на какое-то время? Может быть, было бы лучше, если бы я открывал и закрывал соединения каждый раз, когда мне нужно загрузить или загрузить файл с SFTP?

Может быть, открытие и закрытие соединения более эффективно (потребляет меньше ресурсов)?


person gulando    schedule 26.10.2017    source источник


Ответы (1)


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

Однако, если вам нужно ждать в течение длительного времени, например. для обработки промежуточных данных ваше соединение может быть закрыто в любом случае. Чтобы определить, разумен ли такой сценарий, проверьте свой SSH Сервер ServerAliveInterval.

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

Более важный вопрос заключается в том, насколько надежно ваше SSH-соединение. Иногда через какое-то время может зависать ssh-соединение, либо ломаться туннель. autossh помогает контролировать ваш туннель.

person wp78de    schedule 26.10.2017
comment
Ответы на связанный вопрос SU не совсем верны. Конечно, более небезопасно оставлять SSH-соединение открытым, так как чем дольше открыто соединение, тем больше шансов, что у злоумышленника будет достаточно времени для атаки грубой силы. Вот почему в SSH есть механизм смены ключа. Поэтому, если кто-то предпочитает держать SSH-соединение открытым в течение длительного времени, он / она должен убедиться, что смена ключа происходит регулярно. - person Martin Prikryl; 30.10.2017
comment
Конечно, но мы не знаем, о каких временных рамках идет речь: минуты, часы, дни, недели? Я держусь разумно, и у меня есть сильный ключ, с которым сейчас все должно быть в порядке. - person wp78de; 30.10.2017