dilek, bir rtfm hatası yapmıyorum.jsch ChannelExec ve ChannelShell arasındaki tam olarak ne fark eder?
Birisi bana çeki arasındaki detay farklılıklarını söyler.
dilek, bir rtfm hatası yapmıyorum.jsch ChannelExec ve ChannelShell arasındaki tam olarak ne fark eder?
Birisi bana çeki arasındaki detay farklılıklarını söyler.
The shell and exec channels oldukça benzerdir - her ikisi de uzak kabuklu komutları çalıştırır (en azından, kavramsal olarak - sunucu bunları farklı şekilde işlemek için yapılandırılabilir). RFC 4254, bunları section "Interactive Sessions"'da gruplandırır ve her ikisi de (alt sistemin yanı sıra aşağıya bakın) SSH protokolünde "oturum" kanal türünü kullanır.
ChannelShell
, giriş akımı bu komutlara komutları ve giriş hem de sağlar:
önemli bir fark vardır. Yerel bilgisayarınızda interaktif bir kabuk kullanarak bu gibidir. ChannelExec
için
, komutlar connect()
önce setCommand() ile verilir ve giriş akışı girişi olarak bu komutlara gönderilecektir: (interaktif kullanımı. Ve normalde bunun için sadece kullanılır). (Çoğu zaman, sadece tek bir komut olacak, ancak normal kabuk ayırıcılar &
, &&
, |
, ||
, ;
, satır ve bileşik komutlarını kullanarak birden olanları sağlayabilir.) bir shell script yürütme gibi budur senin yerel bilgisayar (Komutların kendisi birinin interaktif kabuk ise Tabii ki, bu bir ChannelShell
gibi davranacaktır.)
ssh sunucu bir alt sistemi yürüten üçüncü benzer bir, ChannelSubsystem
vardır - burada sunucunun yapılandırma uzak kullanıcının kabuğuna değil, ne yapacağına karar verir. (En sık kullanılan alt sistem sftp
, ancak bu JSch protokolünü anlayan bir uzman kanalı sağlar.)
teşekkürler. Birkaç gün önce jsch'i kullanıyorum. Açıkçası, öğrenecek çok şeyim var. RFC'leri okuyacağım. Yardımın için teşekkürler! –
RFC'leri okumadan önce, [JSch kılavuzu] 'nı (http://sourceforge.net/apps/mediawiki/jsch/index.php?title=Manual) okumaya çalışın; daha kısadır ve daha JSch özeldir. Ayrıca, sadece genel bakış [RFC 5251] (http://tools.ietf.org/html/rfc4251), protokolün teknik detaylarına değil, bence. –
hala exec kanal ve kabuk kanal arasındaki bir daha önemli bir fark vardır: Kabuk kanalı kuracak Örneğin, ortam ortamı, kabuk ortamı, yürütme kanalı olmaz.
Sadece ilk cümle hakkında emin olmak için: [wiki'de manuel] (http://sourceforge.net/apps/mediawiki/jsch/index.php?title=Manual) ve [ Javadoc] (http://epaul.github.com/jsch-documentation/simple.javadoc/)? RFC'leri okumadıysanız, örnekler bu konuda net değildir. –