अतिरिक्त ssh कमांड के बिना SSH कॉन्फ़िग का उपयोग करके सीधे jumphost के माध्यम से लक्षित करने के लिए SSH कैसे करें


14

यदि मैं करता हूँ:

ssh -J jumphost.example.com target.example.com

मैं अंत में तुरंत 'लक्ष्य' पर लॉग इन हुआ।

अगर मैं नए ssh-7.3 जंप कॉन्फिगर का उपयोग करके इस ssh कॉन्फिग फाइल का उपयोग करता हूं:

Host jump 10.1.*, targets*, *.example.com
  HostName jumphost.example.com
  IdentitiesOnly yes
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_rsa

Host *
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_rsa

मैं अंत में 'jumphost' में लॉग इन किया 'लक्ष्य' नहीं

वे चाबी का गुच्छा सामान मैक के लिए है, मैंने इसके बिना परीक्षण किया है और इससे कोई फर्क नहीं पड़ता है, लेकिन सोचा कि मैं इसे केवल मामले में छोड़ दूंगा।


1
-Jहै ProxyJumpऔर नहीं HostName
बोरिस स्पाइडर

जवाबों:


21

आप अंत में जम्प होस्ट में लॉग इन करें क्योंकि आपका कॉन्फ़िगरेशन स्पष्ट रूप से आपके द्वारा निर्दिष्ट होस्टनाम को अनदेखा करने के लिए कहता है और जम्प होस्ट में लॉग इन करें।

  HostName jumphost.example.com

HostName कमांड लाइन पर निर्दिष्ट होस्टनाम को ओवरराइड करता है।

यदि आप ssh कमांड लाइन पर इसे निर्दिष्ट किए बिना स्वचालित रूप से जंप होस्ट का उपयोग करने का प्रयास कर रहे हैं, तो सही कॉन्फ़िगरेशन फ़ाइल विकल्प है ProxyJump। उदाहरण के लिए:

Host everything, behind, jumphost, *.example.com
  ProxyJump jumphost.example.com

अब आप बस चला सकते हैं ssh target.example.comऔर आप जम्फॉस्ट से गुजरेंगे।


2

समस्या यह है कि होस्ट परिभाषा दोनों jumphost.example.com और target.example.com को उपनाम के रूप में पकड़ती है, यह HostMame को दोनों मामलों में jumphost.example.com पर सेट करता है।

मैं सुझाव दूंगा कि होस्ट कमांड के बाद उपनाम बनाने के लिए पूरी तरह से योग्य डोमेन नाम नहीं हैं, फिर प्रत्येक के लिए एक मेजबान प्रविष्टि बनाएं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.