একটি আপডেটের পরে - পার্শ্ব-প্রতিক্রিয়াগুলি খেলতে আসতে পারে। ওপেনএসএইচএইচ - ডিফল্ট প্রায়শই পরিবর্তন হয়। ওপেনবিএসডি (যারা ওপেনএসএসএইচ বজায় রাখে / বিকাশ করে) পিছনের সামঞ্জস্যের বিষয়ে উদ্বিগ্ন না হওয়ার জন্য ওপেনবিএসডি নীতি রয়েছে। এটি 'ব্রেক' করতে পারে যা পড়া ছিল, ভাল কাজ করছে working
একটি বিশাল ইঙ্গিত রয়েছে - এটি আমার সাথে প্রথম কখন ঘটেছিল তা আমি খেয়াল করি নি (জিইউআই ইন্টারফেস ব্যবহার করে এবং আমি এটি সরিয়ে ফেলেছিলাম এবং 'বোকা আপডেট - নতুন সংস্করণটি ভাঙ্গা' দিয়ে 'রাগান্বিত' হয়েছিলাম) নতুন সংস্করণটি সরিয়ে দেয় ভাঙা হয়নি - তবে ওপেনবিএসডি / ওপেনএসএসএইচ ওএসএসএস-6.7p1 দিয়ে শুরু হওয়া কী এক্সচেঞ্জের ডিফল্টগুলি পরিবর্তন করা দেখুন দেখুন: http://www.openssh.com/txt/release-6.7 , লক্ষণীয়:
ওপেনএসএইচ 6.6 থেকে পরিবর্তনসমূহ
সম্ভাব্য-অসম্পূর্ণ পরিবর্তন
sshd (8):
অনিরাপদ অ্যালগরিদমগুলি অপসারণ করতে সাইফার এবং ম্যাকের ডিফল্ট সেটটি পরিবর্তন করা হয়েছে । বিশেষত, সিবিসি সাইফার এবং আরকফোর *
ডিফল্টরূপে অক্ষম থাকে।
সিফারস এবং ম্যাক্স sshd_config বিকল্পগুলির মাধ্যমে স্পষ্টভাবে কনফিগার করা থাকলে অ্যালগরিদমের পুরো সেটটি উপলব্ধ থাকে ।
আমার সমস্যাটি হ'ল আমার একটি পুরানো ক্লায়েন্ট রয়েছে যার নতুন কোনও ডিফল্ট নেই, তাই এটি সংযুক্ত হতে পারে না।
দুটি সমাধানের পথ: সার্ভারটি ফিক্স / প্যাচ করুন বা - ক্লায়েন্টকে ফিক্স / প্যাচ করুন।
সার্ভারের সমাধান: "পুরানো" সেটিংসটি ফিরিয়ে আনুন যাতে "পুরানো" ক্লায়েন্টরা এটির সাথে সংযোগ চালিয়ে যেতে পারে - বিদ্যমান ক্লায়েন্টদের সাথে বন্ধুত্বপূর্ণ - sshd_config ফাইলটি সম্পাদনা করুন এবং পুরানো সাইফারগুলির পিছনে (যথেষ্ট) যুক্ত করুন।
Sshd_config সত্ত্বে পরিবর্তন / যুক্ত করার জন্য মূল লাইনগুলি:
ciphers aes128-ctr,aes192-ctr,aes256-ctr,chacha20-poly1305@openssh.com,aes256-cbc
KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
macs hmac-sha2-256,hmac-sha2-512,hmac-sha1-96,hmac-sha1
শুধু যোগ কর:
# Ciphers
# The dafaults starting with OpenSSH 6.7 are:
# aes128-ctr,aes192-ctr,aes256-ctr,chacha20-poly1305@openssh.com
# older clients may need an older cipher, e.g.
# ciphers aes128-cbc,aes192-cbc,aes256-cbc,blowfish-cbc,arcfour
# only adding aes256-cbc as an "old" cipher
ciphers aes128-ctr,aes192-ctr,aes256-ctr,chacha20-poly1305@openssh.com,aes256-cbc
# KEX Key Exchange algorithms
# default from openssh 6.7 are:
# curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256,\
# diffie-hellman-group14-sha1
# an older kex are: none,KexAlgorithms diffie-hellman-group1-sha1
# only adding diffie-hellman-group-sha1 as an "old" KEX
# and this should be deleted ASAP as it is clearly "one of the problems" with SSL based encryption
KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
# MAC message authentification code
# the new defaults are:
# umac-64-etm@openssh.com,umac-128-etm@openssh.com,
# hmac-sha2-256-etm@openssh.com,hmac-sha2-512-
# etm@openssh.com,
# umac-64@openssh.com,umac-128@openssh.com,
# hmac-sha2-256,hmac-sha2-512
# older defaults (still supported) are:
# macs hmac-sha1,hmac-md5
# consider removing hmac-sha1-96,hmac-sha1,hmac-md5 "Soon!"
macs hmac-sha2-256,hmac-sha2-512,hmac-sha1-96,hmac-sha1
সমাধান # 2 - ক্লায়েন্টকে ঠিক করুন / প্রতিস্থাপন করুন
আপনার বর্তমান ক্লায়েন্ট কী সিফার সমর্থন করে তা দেখার একটি সহজ উপায় (সিএলআই অনুমান করে) ssh -h
এবং এটি এর মতো কিছু সরবরাহ করে কিনা তা দেখুন:
Supported ciphers:
3des-cbc,aes256-cbc,aes192-cbc,aes128-cbc,blowfish-cbc,twofish-cbc,twofish256-cbc,twofish192-cbc,twofish128-cbc,des-cbc@ssh.com,cast128-cbc,rc2-cbc@ssh.com,arcfour,none
Supported MAC algorithms:
hmac-md5,hmac-md5-96,hmac-sha1,hmac-sha1-96,hmac-sha256@ssh.com,hmac-sha256-96@ssh.com,hmac-ripemd160@ssh.com,hmac-ripemd160-96@ssh.com,hmac-tiger128@ssh.com,hmac-tiger128-96@ssh.com,hmac-tiger160@ssh.com,hmac-tiger160-96@ssh.com,hmac-tiger192@ssh.com,hmac-tiger192-96@ssh.com,none
আর একটি দরকারী আদেশ হ'ল: ssh -V
ssh2: SSH Secure Shell 3.2.9 Windows Client
Product: SSH Secure Shell for Workstations
License type: none (non-commercial)
আমার - আমার ডেস্কটপের জন্য - খুব পুরানো ক্লায়েন্ট ছিলেন। উপরের দিকে তাকিয়ে আপনি দেখতে পাচ্ছেন যে এটি কোনও - 15 বছর পরে - পছন্দসই অ্যালগরিদমগুলিকে সমর্থন করে না, এমনকি এক-সিবিআর (ঘোরানো) নয়, কেবল-সিবিসি (ব্লক-অনুলিপি)।
যদি আপনার ক্লায়েন্টের কাছে কীগুলি ইত্যাদি সমর্থিত করার বিকল্প নেই তবে (ওপেনএসএসএইচ বিকল্প থাকা উচিত -Q
) কেবল নিজের সাথে একটি সংযোগ শুরু করুন, উদাহরণস্বরূপ, ssh -v localhost
এবং এর মতো লাইন রয়েছে যা আপনাকে ওয়াট জানাতে বলে:
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug2: kex_parse_kexinit: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-grousha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.ssh-dss-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-dss-cert-v00@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysatiu.se
...
এবং যা পাওয়া গেল (এবং ব্যবহৃত হয়েছিল):
debug2: mac_setup: found hmac-sha1
debug1: kex: server->client aes128-ctr hmac-sha1 none
debug2: mac_setup: found hmac-sha1
debug1: kex: client->server aes128-ctr hmac-sha1 none
অতিরিক্ত: একটি ব্যর্থ সংযোগ থেকে ডিবাগ তথ্য - আরও বিশদ
বা, যা চেষ্টা করা হয়েছিল, তবে তা মিস হয়েছে।
debug: OpenSSH: Major: 7 Minor: 3 Revision: 0
debug: Ssh2Transport: All versions of OpenSSH handle kex guesses incorrectly.
debug: Ssh2Transport: Algorithm negotiation failed for c_to_s_cipher: client list: aes128-cbc,3des-cbc,twofish128-cbc,cast128-cbc,twofish-cbc,blowfish-cbc,aes192-cbc,aes256-cbc,twofish192-cbc,twofish256-cbc,arcfour vs. server list : chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug: Ssh2Transport: Algorithm negotiation failed for s_to_c_cipher: client list: aes128-cbc,3des-cbc,twofish128-cbc,cast128-cbc,twofish-cbc,blowfish-cbc,aes192-cbc,aes256-cbc,twofish192-cbc,twofish256-cbc,arcfour vs. server list : chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug: Ssh2Transport: lang s to c: `', lang c to s: `'
debug: Ssh2Transport: Couldn't agree on kex or hostkey alg. (chosen_kex = NULL, chosen_host_key = ssh-rsa)
debug: Ssh2Common: DISCONNECT received: Algorithm negotiation failed.
সম্পাদনা করুন: 02-জানু -2017 যুক্ত হয়েছে
নতুন বিভাগ - কী বন্ধ হবে কীগুলি কী কাজ বন্ধ করে দেয়?
আমার সার্ভারে আমার একটি 'পুরাতন' ক্লায়েন্ট এবং 'সর্বশেষ' ক্লায়েন্ট ইনস্টল রয়েছে - এবং একটি সার্ভারের সাথে সংযোগ করার জন্য বিভিন্ন আচরণ পেতে পারি। এখানে সমস্যাটি সিফার-মিস-মিল নয় - তবে ডিএসএ-এর ভিত্তিতে একটি প্রত্নতাত্ত্বিক পিকেআই জুটির ব্যবহার ।
সংক্ষেপে, ওপেনশ -7 (.3) আর ডিএসএ পাবলিক কীগুলি পাঠায় না (ডিফল্টরূপে, সম্ভবত মোটেও নয়)।
নীচে আমি ওপেনশ
/ ইউএসআর / বিন / এসএসএস (পুরানো সংস্করণ, বাম দিক) এবং
/ অপ্ট / বিন / এসএস (নতুন সংস্করণ, ডানদিকের) দুটি সংস্করণের আউটপুট তুলনা করব - কমান্ডটি হ'ল:
${version}/ssh -v user@host date
আপনি নীচের আউটপুটটি স্ক্যান করার সাথে সাথে আমি আশা করি আপনি ধাপগুলি লক্ষ্য করেন এবং বার্তাগুলি একই রকম হয়। মূল পার্থক্যটি এসএসএইচ 2_MSG_SERVICE_ACCEPT স্ট্রিংয়ের পরে আসে
আমি আপনাকে যে বিষয়টি খেয়াল করতে চাই তা হ'ল পুরানো সংস্করণটি অফার করে (এবং 'পুরানো' সার্ভার দ্বারা গৃহীত হয় - ডিএসএ ভিত্তিক কী যুগল যখন নতুন সার্ভার কখনই ডিএসএ ভিত্তিক কী অফার করে না।
দ্রষ্টব্য: এর জন্য 'সমাধান' হ'ল (কমপক্ষে একটির মধ্যে) আরএসএ, একডসা বা এডি 25519 ভিত্তিক পিকেআই জোড়া যুক্ত করা।
OpenSSH_6.0p1, OpenSSL 1.0.2h 3 May 2016 | OpenSSH_7.3p1, OpenSSL 1.0.2h 3 May 2016
debug1: Reading configuration data /etc/ssh/ssh_config | debug1: Reading configuration data /var/openssh/etc/ssh_confi
debug1: Failed dlopen: /usr/krb5/lib/libkrb5.a(libkrb5.a.so): <
0509-026 System error: A file or directory in the pat <
<
debug1: Error loading Kerberos, disabling Kerberos auth. <
debug1: Connecting to x061 [192.168.129.61] port 22. debug1: Connecting to x061 [192.168.129.61] port 22.
debug1: Connection established. debug1: Connection established.
debug1: identity file /home/michael/.ssh/id_rsa type 1 debug1: identity file /home/michael/.ssh/id_rsa type 1
> debug1: key_load_public: No such file or directory
debug1: identity file /home/michael/.ssh/id_rsa-cert type -1 debug1: identity file /home/michael/.ssh/id_rsa-cert type -1
debug1: identity file /home/michael/.ssh/id_dsa type 2 debug1: identity file /home/michael/.ssh/id_dsa type 2
> debug1: key_load_public: No such file or directory
debug1: identity file /home/michael/.ssh/id_dsa-cert type -1 debug1: identity file /home/michael/.ssh/id_dsa-cert type -1
debug1: identity file /home/michael/.ssh/id_ecdsa type 3 debug1: identity file /home/michael/.ssh/id_ecdsa type 3
> debug1: key_load_public: No such file or directory
debug1: identity file /home/michael/.ssh/id_ecdsa-cert type - debug1: identity file /home/michael/.ssh/id_ecdsa-cert type -
debug1: Remote protocol version 2.0, remote software version | debug1: key_load_public: No such file or directory
debug1: match: OpenSSH_6.0 pat OpenSSH* | debug1: identity file /home/michael/.ssh/id_ed25519 type -1
> debug1: key_load_public: No such file or directory
> debug1: identity file /home/michael/.ssh/id_ed25519-cert type
debug1: Enabling compatibility mode for protocol 2.0 debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.0 | debug1: Local version string SSH-2.0-OpenSSH_7.3
> debug1: Remote protocol version 2.0, remote software version
> debug1: match: OpenSSH_6.0 pat OpenSSH* compat 0x04000000
> debug1: Authenticating to x061:22 as 'padmin'
debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none | debug1: kex: algorithm: ecdh-sha2-nistp256
debug1: kex: client->server aes128-ctr hmac-md5 none | debug1: kex: host key algorithm: ssh-rsa
> debug1: kex: server->client cipher: aes128-ctr MAC: umac-64@o
> debug1: kex: client->server cipher: aes128-ctr MAC: umac-64@o
debug1: sending SSH2_MSG_KEX_ECDH_INIT debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: RSA 9f:0a:4d:a8:1b:ba:e6:d4:1a:b2:cd | debug1: Server host key: ssh-rsa SHA256:ORf5UVI7mRm/9MthM2qXM
debug1: Host 'x061' is known and matches the RSA host key. debug1: Host 'x061' is known and matches the RSA host key.
debug1: Found key in /home/michael/.ssh/known_hosts:57 debug1: Found key in /home/michael/.ssh/known_hosts:57
debug1: ssh_rsa_verify: signature correct | debug1: rekey after 4294967296 blocks
debug1: SSH2_MSG_NEWKEYS sent debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS debug1: expecting SSH2_MSG_NEWKEYS
> debug1: rekey after 4294967296 blocks
debug1: SSH2_MSG_NEWKEYS received debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server | debug1: Skipping ssh-dss key /home/michael/.ssh/id_dsa - not
debug1: SSH2_MSG_SERVICE_REQUEST sent <
debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/michael/.ssh/id_rsa debug1: Offering RSA public key: /home/michael/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password debug1: Authentications that can continue: publickey,password
debug1: Offering DSA public key: /home/michael/.ssh/id_dsa | debug1: Offering ECDSA public key: /home/michael/.ssh/id_ecds
debug1: Server accepts key: pkalg ssh-dss blen 433 | debug1: Authentications that can continue: publickey,password
debug1: read PEM private key done: type DSA | debug1: Trying private key: /home/michael/.ssh/id_ed25519
debug1: Authentication succeeded (publickey). | debug1: Next authentication method: keyboard-interactive
Authenticated to x061 ([192.168.129.61]:22). | debug1: Authentications that can continue: publickey,password
debug1: channel 0: new [client-session] | debug1: Next authentication method: password
debug1: Requesting no-more-sessions@openssh.com | padmin@x061's password:
debug1: Entering interactive session. |