ওপেনএসএইচ ভুল পাবলিক কী সরবরাহ করে


1

আমি মাঝে মাঝে আমার ওয়ার্ক কম্পিউটার (উইন্ডোজ from) থেকে কিছু ব্যক্তিগত গিথুব রেপো নিয়ে কাজ করতে চাই তাই এসএসএইচ কীভাবে কাজ করে তা শিখতে ব্যর্থ হওয়ার চেয়ে বেশি সময় ব্যয় করার পরে আমি আমার ব্যক্তিগত অ্যাকাউন্টে নিবন্ধিত কীগুলির একটি আলাদা সেট তৈরি করে একটি কাস্টম হোস্ট তৈরি করি আমার .ssh/configফাইলগুলিতে গিথুব সহ ​​তাদের ব্যবহার করতে। দেখে মনে হচ্ছে:

Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/github_rsa
    IdentitiesOnly yes

Host github-personal
    HostName github.com
    User git
    IdentityFile ~/.ssh/{personal-username}_github_rsa
    IdentitiesOnly yes

Host *
    IdentitiesOnly yes

কিছুক্ষণ আগে আমি আমার কাজের কম্পিউটারে রিমোটগুলির মতো দেখতে একটি ব্যক্তিগত রেপো সেট আপ করতে পেরেছি

git@github-personal:{personal-username}/{repo}

যা ভাল কাজ করেছে। সম্প্রতি যদিও আমি অন্য সেট আপ করার চেষ্টা করেছি এবং মনে হচ্ছে এটি ~/ssh/github_rsaপরিবর্তে আমার পরিচয় ফাইল সরবরাহ করার চেষ্টা করে trying দৌড় ssh -v git@github-personalআমি পেয়েছি:

debug1: Reading configuration data /c/Users/Admin/.ssh/config
debug1: /c/Users/Admin/.ssh/config line 7: Applying options for github-personal
debug1: /c/Users/Admin/.ssh/config line 13: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 1: Applying options for *
debug1: Hostname has changed; re-reading configuration
debug1: Reading configuration data /c/Users/Admin/.ssh/config
debug1: /c/Users/Admin/.ssh/config line 1: Applying options for github.com
debug1: /c/Users/Admin/.ssh/config line 13: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 1: Applying options for *
debug1: /etc/ssh/ssh_config line 5: Applying options for github.com
debug1: Connecting to github.com [192.30.252.129] port 22.
debug1: Connection established.
debug1: identity file /c/Users/Admin/.ssh/{personal-username}_github_rsa type 1
debug1: identity file /c/Users/Admin/.ssh/{personal-username}_github_rsa-cert type -1
debug1: identity file /c/Users/Admin/.ssh/github_rsa type 1
debug1: identity file /c/Users/Admin/.ssh/github_rsa-cert type -1
debug1: identity file /c/Users/Admin/.ssh/github_rsa type 1
debug1: identity file /c/Users/Admin/.ssh/github_rsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1
debug1: Remote protocol version 2.0, remote software version libssh-0.7.0
debug1: no match: libssh-0.7.0
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-sha1 none
debug1: kex: client->server aes128-ctr hmac-sha1 none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: RSA 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
Warning: Permanently added 'github.com,192.30.252.129' (RSA) to the list of known hosts.
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /c/Users/Admin/.ssh/github_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug1: Authentication succeeded (publickey).
Authenticated to github.com ([192.30.252.129]:22).
debug1: channel 0: new [client-session]
debug1: Entering interactive session.
PTY allocation request failed on channel 0
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
Hi {work-username}! You've successfully authenticated, but GitHub does not provide shell access.
debug1: channel 0: free: client-session, nchannels 1
Connection to github.com closed.
Transferred: sent 3568, received 1800 bytes, in 0.2 seconds
Bytes per second: sent 20744.2, received 10465.1
debug1: Exit status 1

এই দুটি লাইন তাকান:

debug1: Offering RSA public key: /c/Users/Admin/.ssh/github_rsa
...
Hi {work-username}! You've successfully authenticated, but GitHub does not provide shell access.

এটি পরিষ্কারভাবে আমার মানক কাজের কী সরবরাহ করছে। আমার কাছে মনে হচ্ছে সমস্যাটি এখানে কোথাও কোথাও রয়েছে:

debug1: /c/Users/Admin/.ssh/config line 7: Applying options for github-personal
...
debug1: Hostname has changed; re-reading configuration
...
debug1: /c/Users/Admin/.ssh/config line 1: Applying options for github.com

যেখানে এটি প্রাথমিকভাবে সঠিক হোস্ট কনফিগারেশনটি পড়ে, কিন্তু তারপরে তার মান পরিবর্তন করে এবং পরিবর্তে ডিফল্ট গিথুব হোস্টটি পড়ে। আমার মনে আছে গতবার একই ধরণের সমস্যা IdentitiesOnly yesছিল এবং যুক্তটি উত্তর ছিল তবে আমার ইতিমধ্যে তা ছিল।

উত্তর:


2

ওপেনশ কনফিগারেশনের মাধ্যমে ব্রাউজ করে এবং কেবল একটি ম্যাচ ব্লক গ্রহণ করতে বাধ্য হয় না। আপনার সেটআপের ক্ষেত্রে সমস্যাটি হ'ল আপনার github-personalউরফটি হোস্টনেম github.com( HostNameনীচের লাইন) এও সমাধান করে এবং ssh এটি জানতে পেরে এটি হোস্ট-নেম সম্পর্কে এই নতুন জ্ঞানের সাথে কনফিগারটিকে আরও একবার পার্স করে। এছাড়াও IdentityFileবিকল্পটি একচেটিয়া নয় এবং ওপেনশ আরও কীগুলি সংরক্ষণ করতে পারে।

আপনি যদি এটি এভাবে চালিয়ে যেতে চান তবে আপনাকে সম্ভবত ওয়ার্ক-অ্যাকাউন্টটিকে কেবল তার চেয়ে আলাদা কিছুতে পরিবর্তন করতে হবে github.com, উদাহরণস্বরূপ github-work। এটি ওপেনশকে আপনার অন্যান্য কীতে ফ্যালব্যাক আটকাতে হবে। ডাউনসাইড অবশ্যই আপনার অবশ্যই আপনার সংগ্রহস্থলগুলি পুনরায় কনফিগার করতে হবে তবে এটি খুব বেশি ক্ষতি করবে না।


ধন্যবাদ জাকুজে সুতরাং হোস্ট কনফিগারেশনটি পুনরাবৃত্ত হওয়ার মতো মনে হচ্ছে, এটির HostName github.comঅধীনে যদি আমি Host github-personalফাইলটি পুনরায় পার্স করব এবং তারপরে মিলবে Host github.com? আমার ধারণা আমি কেন এটি দরকারী তবে এটি ওভাররাইড করার কোনও উপায় নেই? এটি কাজ করবে তবে আমাকে আমার অন্য দূরবর্তী স্থানগুলি অন্যত্রও বদলাতে হবে যা কিছুটা বিরক্তিকর।
জেরেডএল

হ্যাঁ। আপনার শেষ কোড ব্লকটি যেমন দেখায়, এটি পুনরাবৃত্ত হয়। আমি কুরুচিপূর্ণ কাজের কথা ভাবতে পারি, github-personal.com(উদাহরণস্বরূপ) আপনার hostsফাইলে রেখে ( %SystemRoot%\System32\drivers\etc\hosts) কোনও অজানা ছাড়াই মূল গিথুব আইপিতে নির্দেশ করতে openssh
জাকুজে

hostsফাইল কার্যসংক্রান্ত আসলে আরো আকর্ষণীয় হয়ে থাকতে পারে, কিন্তু আমি আমি HTTPS ব্যবহার করছি ডিফল্টরূপে আমার সব অন্যান্য Repos তাই ব্যবহার উপলব্ধি github-workশুধু জরিমানা কাজ মনে হয় SSH জন্য হোস্ট। আমাকে github.com হোস্ট এন্ট্রিও সরাতে হয়েছিল ~/AppData/Local/GitHub/PortableGit.../etc/ssh/ssh_config। ধন্যবাদ, এটি সেরা সমাধান।
জ্যারেড

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.