Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
jsch — fork of the popular jsch library | Kitploit
उपकरण/GitHubGitHub/mwiede/jsch
Authentication & AuthorizationEncryption/Decryption ToolsNetwork SecurityUtilities & FrameworksRemote Access Tool
GitHubmwiede/jsch

jsch

fork of the popular jsch library

रिपॉजिटरी देखें
1.1k1888 दिन पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

JSch-0.1.55 का फोर्क

मूल README देखें

GitHub release Maven Central Java CI with Maven

आपको यह लाइब्रेरी क्यों उपयोग करनी चाहिए?

जैसा कि मैंने एक ब्लॉग पोस्ट में समझाया था, मुख्य बिंदु हैं:

  • OpenSSH ने रिलीज़ 8.8 में ssh-rsa को डिफ़ॉल्ट रूप से अक्षम कर दिया है और आपको एक ऐसी लाइब्रेरी चाहिए जो rsa-sha2-256 और rsa-sha2-512 को सपोर्ट करती हो।
  • ड्रॉप-इन प्रतिस्थापन: केवल डिपेंडेंसी कोऑर्डिनेट्स बदलें और आपका काम हो गया।
  • SourceForge पर JSch का कोई सक्रिय रखरखाव नहीं है।
  • OpenJDK सुविधाओं के साथ तालमेल बनाए रखें ताकि अतिरिक्त डिपेंडेंसी की आवश्यकता न पड़े।

क्या कोई दस्तावेज़ है?

ज़्यादा नहीं। examples फ़ोल्डर में उदाहरण कोड देखें। और कुछ विकी पेज हैं, जैसे Jsch-Configuration और Jsch-Logging।

वर्ज़निंग

0.2.26 तक, वर्ज़निंग मूल jsch योजना का पालन करती थी; 2.27.0 से, हमने सेमेन्टिक वर्ज़निंग पर स्विच किया, जो दर्शाता है कि लाइब्रेरी API स्थिर है और प्रोडक्शन में उपयोग की जाती है।

इस लाइब्रेरी को com.jcraft:jsch के प्रतिस्थापन के रूप में कैसे उपयोग करें

सुनिश्चित करें कि आपके क्लासपाथ पर केवल एक jsch डिपेंडेंसी है। उदाहरण के लिए आप mvn dependency:tree का आउटपुट जांच सकते हैं।

प्रत्यक्ष मेवेन डिपेंडेंसी को प्रतिस्थापित करके

प्रतिस्थापित करें

root@kitploit:~
<dependency>
    <groupId>com.jcraft</groupId>
    <artifactId>jsch</artifactId>
    <version>0.1.55</version>
</dependency>

इसके साथ

root@kitploit:~
<dependency>
  <groupId>com.github.mwiede</groupId>
  <artifactId>jsch</artifactId>
  <version>2.28.0</version>
</dependency>

jsch को ट्रांज़िटिव मेवेन डिपेंडेंसी के रूप में प्रतिस्थापित करके

जब आपके पास कोई आर्टिफैक्ट foo:bar है, जिसमें com.jcraft:jsch ट्रांज़िटिव डिपेंडेंसी के रूप में शामिल है, तो आपको com.github.mwiede:jsch को एक अतिरिक्त डिपेंडेंसी के रूप में जोड़ना होगा और jcraft वाले को बाहर करना होगा:

root@kitploit:~
<dependency>
  <groupId>com.github.mwiede</groupId>
  <artifactId>jsch</artifactId>
  <version>2.28.0</version>
</dependency>
<dependency>
  <groupId>foo</groupId>
  <artifactId>bar</artifactId>
  <exclusions>
        <exclusion>  
          <groupId>com.jcraft</groupId>
          <artifactId>jsch</artifactId>
        </exclusion>
      </exclusions> 
</dependency>

अतिरिक्त: आप com.jcraft:jsch.agentproxy.jsch, com.jcraft:jsch.agentproxy.core या com.jcraft:jsch.agentproxy.pageant में से किसी को भी और बाहर कर सकते हैं, क्योंकि ये मॉड्यूल इस फोर्क में एकीकृत किए गए थे (देखें 0.1.66 की रिलीज़ नोट्स)।

FAQ

न्यूनतम आवश्यक Java संस्करण कौन सा है?

  • Java 8। अधिक सीमाओं के लिए, अगला उत्तर देखें।

क्या ssh-ed25519, ssh-ed448, curve25519-sha256, curve448-sha512 और chacha20-poly1305@openssh.com समर्थित हैं?

  • यह लाइब्रेरी एक Multi-Release-jar है, जिसका अर्थ है कि आप केवल कुछ सुविधाओं का उपयोग तभी कर सकते हैं जब अधिक नया Java संस्करण उपयोग किया जाता है।
    • ssh-ed25519 और ssh-ed448 का उपयोग करने के लिए, आपको कम से कम Java 15 का उपयोग करना होगा या क्लासपाथ में Bouncy Castle (bcprov-jdk18on) जोड़ना होगा।
    • curve25519-sha256 और curve448-sha512 का उपयोग करने के लिए, आपको कम से कम Java 11 का उपयोग करना होगा या क्लासपाथ में Bouncy Castle (bcprov-jdk18on) जोड़ना होगा।
    • chacha20-poly1305@openssh.com का उपयोग करने के लिए, आपको क्लासपाथ में Bouncy Castle (bcprov-jdk18on) जोड़ना होगा।
  • 0.1.66 रिलीज़ के अनुसार, ये एल्गोरिदम अब पुराने Java रिलीज़ के साथ उपयोग किए जा सकते हैं यदि क्लासपाथ में Bouncy Castle (bcprov-jdk18on) जोड़ा गया हो।
    • 0.1.72 रिलीज़ के अनुसार, chacha20-poly1305@openssh.com का उपयोग केवल तभी किया जा सकता है यदि क्लासपाथ में Bouncy Castle (bcprov-jdk18on) जोड़ा गया हो।

ssh-rsa प्रकार की कुंजियाँ इस JSch फोर्क और मेरे सर्वर के साथ काम क्यों नहीं करतीं?

  • 0.2.0 रिलीज़ के अनुसार, RSA/SHA1 सिग्नेचर एल्गोरिदम डिफ़ॉल्ट रूप से अक्षम है।
    • सामान्य क्रिप्टोग्राफिक समुदाय द्वारा SHA1 को अब सुरक्षित नहीं माना जाता है और यह JSch फोर्क उन डिफ़ॉल्ट एल्गोरिदम के लिए सुरक्षित विकल्पों को बनाए रखने का प्रयास करता है जिनका यह उपयोग करेगा।
    • यह OpenSSH प्रोजेक्ट का अनुसरण भी करता है, जिसमें उन्होंने OpenSSH रिलीज़ 8.8 से डिफ़ॉल्ट रूप से RSA/SHA1 सिग्नेचर को अक्षम कर दिया था।
  • ssh-rsa प्रकार की कुंजियाँ RFC 8332 द्वारा परिभाषित RSA/SHA256 (rsa-sha2-256) और RSA/SHA512 (rsa-sha2-512) सिग्नेचर एल्गोरिदम के साथ डिफ़ॉल्ट रूप से कार्य करती रहती हैं।
  • यदि आपका सर्वर केवल RSA/SHA1 सिग्नेचर का समर्थन करता है और आपको अपने एप्लिकेशन में उनके उपयोग की आवश्यकता है, तो आपको निम्नलिखित तरीकों में से किसी एक द्वारा उन्हें मैन्युअल रूप से पुनः सक्षम करना होगा (विकी पेज Jsch-Configuration भी देखें):
    • वैश्विक रूप से jsch.server_host_key + jsch.client_pubkey प्रॉपर्टीज़ में "ssh-rsa" जोड़कर।
    • वैश्विक रूप से JSch.setConfig("server_host_key", JSch.getConfig("server_host_key") + ",ssh-rsa") + JSch.setConfig("PubkeyAcceptedAlgorithms", JSch.getConfig("PubkeyAcceptedAlgorithms") + ",ssh-rsa") के समान कुछ निष्पादित करके।
    • प्रति-सत्र आधार पर session.setConfig("server_host_key", session.getConfig("server_host_key") + ",ssh-rsa") + session.setConfig("PubkeyAcceptedAlgorithms", session.getConfig("PubkeyAcceptedAlgorithms") + ",ssh-rsa") के समान कुछ निष्पादित करके।

क्या यह फोर्क मूल JSch के साथ 100% संगत है, क्योंकि मेरे सर्वर से कनेक्शन अब काम नहीं करता!

  • OpenSSH के साथ संगतता और बेहतर सुरक्षा के लिए, क्रिप्टो एल्गोरिदम का क्रम बदल दिया गया था। यदि आप अभी भी पुराने या डेप्रिकेटेड एल्गोरिदम का उपयोग करना चाहते हैं, तो आपको कॉन्फ़िगरेशन बदलने की आवश्यकता है। उदाहरण देखें #37, #40
  • क्रिप्टो एल्गोरिदम को समायोजित करना आसान बनाने के लिए, 0.1.65 से शुरू करते हुए, आपके एप्लिकेशन के स्टार्टअप पर निम्नलिखित सिस्टम प्रॉपर्टीज़ सेट की जा सकती हैं:
    • jsch.kex
      • JSch.setConfig("kex", "...") के अनुरूप
    • jsch.server_host_key
      • JSch.setConfig("server_host_key", "...") के अनुरूप
    • jsch.prefer_known_host_key_types
      • JSch.setConfig("prefer_known_host_key_types", "...") के अनुरूप
    • jsch.enable_server_sig_algs
      • JSch.setConfig("enable_server_sig_algs", "...") के अनुरूप
    • jsch.cipher

JSch का उपयोग करने वाली अन्य परियोजनाएँ

  • Jsync https://github.com/fizzed/jsync - एक सरल, कुशल, विश्वसनीय और शुद्ध Java rsync-जैसी फ़ाइल और निर्देशिका सिंक्रनाइज़ेशन टूल प्रदान करता है जिसका उपयोग प्रोग्रामेटिक रूप से किया जा सकता है।
  • Blaze https://github.com/fizzed/blaze - Java फ़ाइलों को स्क्रिप्ट के रूप में चलाने का एक तरीका, जिसमें शक्तिशाली SSH, SFTP और rsync-जैसी सुविधाएँ अंतर्निहित हैं।

फोर्क के बाद से परिवर्तन:

देखें ChangeLog.md

टूल डाउनलोड करें
  • अपनी OpenSSH प्रकार की कॉन्फ़िग फ़ाइल में "HostKeyAlgorithms" + "PubkeyAcceptedAlgorithms" कीवर्ड के साथ "ssh-rsa" जोड़कर और फिर OpenSSHConfig क्लास का उपयोग करके।
    • JSch.setConfig("cipher.s2c", "...") + JSch.setConfig("cipher.c2s", "...") के अनुरूप
  • jsch.mac
    • JSch.setConfig("mac.s2c", "...") + JSch.setConfig("mac.c2s", "...") के अनुरूप
  • jsch.compression
    • JSch.setConfig("compression.s2c", "...") + JSch.setConfig("compression.c2s", "...") के अनुरूप
  • jsch.lang
    • JSch.setConfig("lang.s2c", "...") + JSch.setConfig("lang.c2s", "...") के अनुरूप
  • jsch.dhgex_min
    • JSch.setConfig("dhgex_min", "...") के अनुरूप
  • jsch.dhgex_max
    • JSch.setConfig("dhgex_max", "...") के अनुरूप
  • jsch.dhgex_preferred
    • JSch.setConfig("dhgex_preferred", "...") के अनुरूप
  • jsch.compression_level
    • JSch.setConfig("compression_level", "...") के अनुरूप
  • jsch.preferred_authentications
    • JSch.setConfig("PreferredAuthentications", "...") के अनुरूप
  • jsch.client_pubkey
    • JSch.setConfig("PubkeyAcceptedAlgorithms", "...") के अनुरूप
  • jsch.check_ciphers
    • JSch.setConfig("CheckCiphers", "...") के अनुरूप
  • jsch.check_macs
    • JSch.setConfig("CheckMacs", "...") के अनुरूप
  • jsch.check_kexes
    • JSch.setConfig("CheckKexes", "...") के अनुरूप
  • jsch.check_signatures
    • JSch.setConfig("CheckSignatures", "...") के अनुरूप
  • jsch.fingerprint_hash
    • JSch.setConfig("FingerprintHash", "...") के अनुरूप
  • jsch.max_auth_tries
    • JSch.setConfig("MaxAuthTries", "...") के अनुरूप