এসএসএইচের মাধ্যমে টিসিপি / আইপি দিয়ে মাইএসকিউএল ওয়ার্কব্যাঞ্চ ব্যবহারের চেষ্টা করা - সংযোগ করতে ব্যর্থ


41

আমি কোনও পিসি থেকে মাইএসকিউএল ওয়ার্কব্যাঞ্জে এসএসএইচ সংযোগের মাধ্যমে টিসিপি / আইপি ব্যবহার করে সংযোগ করতে পারি না। কি হচ্ছে?

আমি একটি উবুন্টু সার্ভার mysql.myhost.com এ একটি মাইএসকিউএল 5.1 ডাটাবেস তৈরি করেছি । আমি এটি স্থানীয়ভাবে অ্যাক্সেস করতে পারি। মাইএসকিউএল ওয়ার্কবেঞ্চ (পিসি) টিএসপি-র মাধ্যমে এসএসএসের মাধ্যমে সংযোগ দেওয়ার প্রস্তাব দেয়। এটি রিমোট সার্ভারে 3306 পোর্টে চলে যেখানে কমান্ড-লাইন mysql ভাল কাজ করে।

আমি নিম্নলিখিত সেশনের বিবরণ ব্যবহার করেছি:

  • সংযোগ পদ্ধতি: এসএসএইচ ওভার টিসিপি / আইপি।
  • এসএসএইচ হোস্টনাম: mysql.myhost.com : 3306
  • এসএসএইচ ব্যবহারকারীর নাম: আমার লিনাক্স লগইন
  • এসএসএইচ পাবলিক কী ফাইল: আমার স্থানীয় পাবলিক কী ফাইল
  • মাইএসকিউএল হোস্টনাম: 127.0.0.1 মাইএসকিউএল
  • সার্ভার পোর্ট: 3306
  • ব্যবহারকারীর নাম: মূল

আমি সংযোগ দেওয়ার চেষ্টা করার সময় আমি একটি ত্রুটি বার্তা পেয়েছি: "127.0.0.1:3306 এ এসএসএইচ টানেলের মাধ্যমে ইউজার রুটের সাথে এসএসএইচ টানেলের মাধ্যমে মাইএসকিউএলে কানেক্ট করতে ব্যর্থ হয়েছে"

"'127.0.0.1' (10061) এ মাইএসকিউএল সার্ভারের সাথে সংযোগ স্থাপন করতে পারে না"

অন্য পরীক্ষা হিসাবে - আমি পুটি ব্যবহার করে 3306 পোর্ট সহ একটি এসএসএইচ টানেল সেট আপ করেছি এবং আমি উপরে বর্ণিত হিসাবে দূরবর্তী সার্ভারে আমার স্থানীয় 3306 এর সংযোগগুলি ফরোয়ার্ড করে সেই টানেলের মাধ্যমে মাইএসকিউএল ওয়ার্কব্যাঞ্চ ব্যবহার করে ওকে সংযোগ করতে পারি। তবে আমি ওয়ার্কবেঞ্চে "TCP / IP ওভার এসএসএইচ" পেতে পারি না।

গৌণ প্রশ্ন: যখন ওয়ার্কবেঞ্চ "এসএসএইচ পাবলিক কী ফাইলের পথে" জিজ্ঞাসা করে তখন কি আমার ব্যক্তিগত কী ফাইলটি সত্যই দরকার হয় না?


4
শুভ দুঃখ। bugs.mysql.com/bug.php?id=61368 দেখায় যে ওপেনএসএসএইচ ফর্ম্যাটে প্রয়োজনীয় একটি প্রাইভেট কী ফাইল। আমি সে সম্পর্কে অবাক হয়েছি কিন্তু নিশ্চিত নই।
ডিজলি

উত্তর:


29

আমি নিজে যখন এই ত্রুটির মুখোমুখি হয়েছি তখন আমি এই প্রশ্নে হোঁচট খেয়েছি। অবশেষে আমি কনফিগারেশনটি বের করতে পারি।

  1. আমি ইতিমধ্যে /etc/mysql/my.cnf তে কোন কিছু স্পর্শ করি নি যা ইতিমধ্যে বাইন্ড_এড্রেস = 127.0.0.1 রয়েছে। সুতরাং শুধুমাত্র লোকালহোস্ট সংযোগ করতে পারে।
  2. আমি ওপেনএসএইচ সার্ভার ব্যবহার করি। সুতরাং তার কনফিগ ফাইল / etc / SSH / sshd_config আমি থেকে পরিবর্তিত কোন থেকে হ্যাঁ PARAM বিভিন্ন TCP ফরওয়ার্ডিং জন্য দায়ী, এইভাবে হ্যাঁ AllowTcpForwarding
  3. পরিশেষে আমি মাইএসকিউএল ওয়ার্কবেঞ্চে নিম্নলিখিতটি প্রবেশ করিয়েছি।

    • এসএসএইচ হোস্টনাম: 192.168.0.8:22 (আমার এসএসএইচ সার্ভার 22 পোর্ট শুনে)
    • এসএসএইচ ব্যবহারকারী নাম: শ্যুসার
    • এসএসএইচ কী ফাইল: * সি: \ ব্যবহারকারীগণ \ উইন্ডোজ ব্যবহারকারী ss .ssh \ id_rsa * (এটি সরকারী বললেও ব্যক্তিগত কী হওয়া উচিত)
    • মাইএসকিউএল হোস্ট-নেম: 127.0.0.1 (এটি পরিবর্তন করা উচিত নয়, যেহেতু মাইএসকিউএল সার্ভার ডিফল্টরূপে কেবল লোকালহোস্টের সাথে আবদ্ধ, যা আমি পরিবর্তন করি নি)
    • মাইএসকিউএল সার্ভার পোর্ট: 3306 (এছাড়াও ডিফল্ট)
    • ব্যবহারকারীর নাম: মূল

আপনার কেবলমাত্র অবশিষ্ট জিনিসটি হল আপনার এসএসএইচ সার্ভারটিকে পাসওয়ার্ডের চেয়ে কীগুলির সাথে সঠিকভাবে কনফিগার করা। আশা করি এটি কারও সাহায্য করবে।


সার্ভারের সাইডে আমার একটি কাজ করার দরকার ছিল তা নিশ্চিত করা যে / etc / ssh / sshd_config এই লাইনটি ছিল: AuthorizedKeysFile /home/root/.ssh/authorized_keysএবং অনুমোদিত_কিগুলিতে একটি প্রবেশ হিসাবে আমার পাবলিক কী ছিল।
RyanNerd

দয়া করে স্পষ্ট করে বলুন যে ধাপ 2 যা সেটটি রিমোট সার্ভারেAllowTcpForwarding yes প্রয়োগ করা হয় অর্থাৎ হোস্টের যে মাইএসকিউএল উদাহরণ রয়েছে যার সাথে আমরা সংযোগের চেষ্টা করছি; বা মাইএসকিউএল ওয়ার্কবেঞ্চ সহ স্থানীয় মেশিন ইনস্টল করা হয়েছে
নাম জি ভি ইউ ইউ

@ নামজিভিউ পদক্ষেপ 2 মাইএসকিউএল ইনস্টল করা এমন রিমোট সার্ভারে প্রযোজ্য। বিশেষত ওপেনএসএসএইচ সার্ভারে যা এসএসএইচ এর মাধ্যমে মাইএসকিউএলে টানেলিং সরবরাহ করে।
চোখ

আমি চেষ্টা করেছি কিন্তু এখনও সুরঙ্গ করতে ব্যর্থ হয়েছি। মাইএসকিউএল ওয়ার্কবেঞ্চ আমাকে লগ ফাইলে আরও ত্রুটির বিবরণ পড়তে বলেছে। আপনি কোথায় পড়তে জানতে পারেন?
নাম জি ভিইউ

1
আমি আজ এটি কাজ করেছি - AllowTcpForwardingএন্ট্রি কনফিগার করার পরে একটি রিবুট দরকার
নাম জি ভি ইউ

8

আমার মনে হয় এসএসএইচ পদ্ধতির উপর টিসিপি / আইপি মাইএসকিউএল সংযোগের অন্তর্নিহিত একটি "সাধারণ" এসএসএইচ সংযোগ স্থাপনের মাধ্যমে কাজ করে (আপনি -Lওপেনএসএইচ-কমান্ড-লাইন ক্লায়েন্টের সাহায্যে টানেলটি করেছিলেন ঠিক তেমনভাবে) works

অতএব, আপনাকে সার্ভারে কোনও এসএসএইচ সার্ভারের সাথে সংযোগ নির্দিষ্ট করতে হবে যার মাধ্যমে আপনি টানেলটি স্থাপন করছেন। এখানে, আপনি ব্যবহার করছেন বলে মনে হচ্ছে mysql.myhost.com:3306, যা বোঝায় যে আপনি এই এসএসএইচ সার্ভারটি চালাচ্ছেন (মাইএসকিউএল নয়) পোর্টে 3306।

mysql.myhost.com3306 পোর্টে আপনার বাহ্যিক আইপি ঠিকানায় 127.0.0.1:3306 এ একটি মাইএসকিউএল সার্ভার এবং একটি এসএসএইচ সার্ভারকে আবদ্ধ করা সম্ভব , তবে এটি খুব কমই সম্ভাব্য। আমার ধারণা আপনার এসএসএইচ সার্ভারটি পোর্ট 22 (ডিফল্ট) এ শুনছে is

আপনার সম্ভবত ব্যবহার করা উচিত mysql.myhost.com:22। (পরীক্ষা করুন যে আপনি এটির মতো সাধারণ এসএসএইচ ক্লায়েন্টের মাধ্যমেও সংযোগ করতে পারবেন connect)


8

Mysql.user টেবিলের ব্যবহারকারীদের আপনার চেক করা দরকার।

এই কোয়েরিটি চালান:

SELECT user,host FROM mysql.user;

আপনার এমন কিছু দেখা উচিত:

mysql> SELECT user,host,password FROM mysql.user;
+------------------+-------------+-------------------------------------------+
| user             | host        | password                                  |
+------------------+-------------+-------------------------------------------+
| root             | localhost   | *7A670E02260CDEEFF062DD08F3A6F6DA079998CB |
| ping             | %           | *124E1DB56CC8D6E2FEE8315BB2544BF04B980DB6 |
| admin            | 10.67.135.% | 1a6858054a41fede                          |
| icorbin          | 10.67.135.% | 366ed93a7396650e                          |
+------------------+-------------+-------------------------------------------+
4 rows in set (0.00 sec)

দয়া করে লক্ষ্য করুন

  • রুট @ লোকালহোস্ট কেবল লোকালহোস্ট থেকে লগইন করতে পারে।
  • পিং @ '%' টিসিপি / আইপি দিয়ে লগইন করতে পারে
  • প্রশাসক@10.67.135.৯০ কেবলমাত্র সেই নেটব্লক থেকে টিসিপি / আইপি এর মাধ্যমে লগইন করতে পারেন
  • আইক্রোবিন @ ১০.০.6..1.১৩৫.৯ শুধুমাত্র সেই নেটব্লক থেকে টিসিপি / আইপি-র মাধ্যমে লগইন করতে পারেন

আপনি যদি রুটটি টিসিপি / আইপি এর মাধ্যমে সংযুক্ত করতে চান তবে আপনাকে অবশ্যই কোনও রুট ব্যবহারকারীর জন্য আইপি ঠিকানা বা নেটব্লক উল্লেখ করতে হবে।

এটার মতো কিছু:

GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'whateverpassword';

অথবা রুট @ লোকালহোস্টের জন্য যদি রুট পাসওয়ার্ড একই থাকে

GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY PASSWORD '*7A670E02260CDEEFF062DD08F3A6F6DA079998CB ';

কেভেট: মূল @ '%' সাধারণভাবে প্রস্তাবিত নয়। মূলের জন্য সম্ভবত root@'10.% 'বা অন্য কোনও নেটব্লক চেষ্টা করুন।

একবার চেষ্টা করে দেখো !!!


3
...@localhostএসএসএইচ টানেলের মাধ্যমে কাজ করা উচিত নয় , যেহেতু মাইএসকিউএল সার্ভারটি সম্পর্কিত, সংযোগটি টানেলের শেষ থেকে আসে?
ব্রুনো

@ ব্রুনো: জানার একটি নিশ্চিত উপায় হ'ল সফলভাবে সংযোগ স্থাপন এবং তারপরে নির্বাচন করুন ব্যবহারকারী নির্বাচন করুন (), CURRENT_USER (); এবং দেখুন কি এটি ফলাফল। ব্যবহারকারী () ফাংশনটি আপনি যা হিসাবে প্রমাণীকরণের চেষ্টা করেছেন তা প্রতিধ্বনিত করে, যখন CURRENT_USER () মাইএসকিউএল আপনাকে অনুমোদনের অনুমতি দেয় তা প্রতিধ্বনিত করে। যদি CURRENT_USER () স্থানীয় লোকস্টের মূলকে প্রতিধ্বনিত করে তবে আপনার প্রশ্নের উত্তর হ্যাঁ।
রোল্যান্ডোমাইএসকিউএলডিবিএ

3

আপনি মাইএসকিউএল ওয়ার্কবেঞ্চের একটি পুরানো সংস্করণ ব্যবহার করছেন এবং আপডেট করার প্রয়োজন হতে পারে। এটি 6.0.8 সংস্করণে একটি বাগ, যা বর্তমানে উবুন্টু সংগ্রহস্থলের সংস্করণ। সংস্করণ 6.3.6 এ আপডেট করা আমার জন্য এটি ঠিক করেছে।

ডাউনলোডগুলি এখানে: http://dev.mysql.com/downloads/workbench/#downloads


2

অন্য যে কোনও উত্তরে উল্লেখ করা হয়নি এমন একটি হ'ল এসও-তে বর্ণিত কীটির জন্য ওপেনএসএসএইচ ফর্ম্যাটটির গুরুত্ব ( https://stackoverflow.com/questions/34504232/mysql-workbench-failing-to-connect-via- এসএসএস-কারণে-কী / 38108623 # 38108623 )।

সেখানে উত্তর থাকা সত্ত্বেও, আমি মাইএসকিউএল ওয়ার্কবেঞ্চ 6.3.7 (64 বিট, উইন্ডোজ 10) এর সাথে একটি পাসওয়ার্ড সুরক্ষিত কী ব্যবহার করতে সক্ষম হয়েছি।


2

আমার সমস্যাটি ছিল যে আমি একটি ed25519এসএসএইচ কী ব্যবহার করার চেষ্টা করছিলাম । আমি এসএসএইচ সার্ভারে এই ত্রুটিটি লক্ষ্য করেছি auth.log:

sshd[25251]: Connection closed by 192.168.x.x [preauth]

একবার আমি কোনও আরএসএ কী ব্যবহার করতে স্যুইচ করলে, সবকিছু প্রত্যাশা অনুযায়ী কাজ করে।


1

আপনি ssh এর মাধ্যমে সার্ভারের সাথে সংযোগ স্থাপনের চেষ্টা করছেন তবে mysql পোর্টটি ব্যবহার করছেন। আপনার ssh সার্ভারটি যে পোর্টটি শুনতে চাইছে তা হ'ল সাধারণত 22, তারপরে লোকালহোস্ট এবং মাইএসকিএল হোস্টনেম এবং পোর্টের জন্য 3306।


1

আমিও একই সমস্যার মুখোমুখি হয়েছি। আমি AllowTcp ফরওয়ার্ডিং হ্যাঁ যাচাই করে দেখার চেষ্টা করেছি তবে এটি আমার sshd_config এ নিখোঁজ ছিল তাই কোনও সাহায্য নেই। নিশ্চিত করুন যে এসএসএইচ হোস্টনেমটি মাইএসকিএল হোস্টনামের সাথে একই নয় (লোকালহোস্ট ব্যবহার করুন)।

ওয়ার্কবেঞ্চে, নতুন সংযোগ যুক্ত করতে + চয়ন করুন এবং নিম্নলিখিতগুলি সেট করুন:

  • সংযোগ পদ্ধতি: এসএসএইচ-র ওভার স্ট্যান্ডার্ড টিসিপি / আইপি
  • এসএসএইচ হোস্টনাম: 192.168.0.50:22 (রিমোট এসএসএইচ সার্ভার আইপি এবং পোর্ট রাখুন (alচ্ছিক))
  • এসএসএইচ ব্যবহারকারী নাম: শ্যুসার
  • আপনি পাসওয়ার্ড সেট করতে বা প্রম্পটে যোগ করতে পারেন
  • এমওয়াইএসকিউএল হোস্টনাম: লোকালহোস্ট বা 127.0.0.1
  • MYSQL সার্ভার পোর্ট: 3306
  • আপনি পাসওয়ার্ড সেট করতে বা প্রম্পটে যোগ করতে পারেন

পরীক্ষামূলক সংযোগ. এটি সফল হওয়া উচিত তবে ওকে আঘাত করুন V ভায়োলা!


1

কখনও কখনও পুটি দ্বারা নির্মিত কীগুলি কাজ করবে না। একটি মূল জুড়ি তৈরি করতে লিনাক্স বক্সে ssh-keygen ব্যবহার করুন। উইন্ডোজের একটি পাঠ্য ফাইলে নতুন id_rsa এর সামগ্রীগুলি অনুলিপি করুন । লিনাক্স বাক্সে অনুমোদিত_কিগুলিতে id_rsa.pub এর বিষয়বস্তু যুক্ত করার বিষয়টি নিশ্চিত করুন। ওয়ার্কবেঞ্চে অন্য সমস্ত ডিফল্ট মাইএসকিউএল হোস্ট নেমটির জন্য 127.0.0.1 সহ অন্তর্ভুক্ত। অবশ্যই এটি এসএসএইচের উপর স্ট্যান্ডার্ড টিসিপি / আইপি হতে হবে।


1

আমি একই ত্রুটি নিয়ে এসেছি। সময়সীমা "কিছুটা" সমস্যা। আমি এমনকি 120 সেকেন্ড পর্যন্ত মান ক্র্যাঙ্ক করেছিলাম যা কোনও উপকারে আসে না।

আমার ক্ষেত্রে আমি এটি একটি nslookup myserver.com করে এবং হোস্টনামের পরিবর্তে আইপি ঠিকানা ব্যবহার করে সমাধান করতে পারি। আইপিভি 4 থেকে আইপিভি 6 এর সাথে সংযোগ স্থাপনের চেষ্টা করার ক্ষেত্রে আমার অনুমান একটি সমস্যা।


0

এই একই সমস্যাটি উবুন্টু মেশিনে মাইএসকিউএল সংস্করণ 5.5.29 এবং মাইএসকিউএল ওয়ার্কবেঞ্চ 5.2.40 চলমান একটি সার্ভারের সাথে সংযোগ স্থাপন করে। এসএসএইচ সার্ভারের জন্য একটি এসএস-কী ব্যবহার করা দরকার।

আমি রুট ব্যবহারকারী ব্যবহার করে মাইএসকিউএল সার্ভারের সাথে সংযোগ করতে সক্ষম হইনি, পরিবর্তে আমাকে লগইনের জন্য ব্যবহার করার জন্য একটি পৃথক নন-রুট ব্যবহারকারী তৈরি করতে হয়েছিল। এর পরে আমি ঠিক ঠিক সংযোগ করতে সক্ষম হয়েছি।

আশাকরি এটা সাহায্য করবে.


0

ঠিক আছে, আমি জানি এটি একটি পুরানো প্রশ্ন, তবে আমি কয়েক ঘন্টা ধরে আমার চুল টানতে থাকি। আমি ব্রুনো এবং আই দ্বারা বর্ণিত সমস্ত কিছু যাচাই করেছিলাম এবং এটি সমস্ত ভাল লাগছিল। তখন আমি বুঝতে পারি এটি সত্যিই একটি ব্যক্তিগত / সর্বজনীন কী জিনিস। সুতরাং আমি পেজেন্টকে বরখাস্ত করেছিলাম এবং আমার ব্যক্তিগত কী যুক্ত করেছি, যাতে এটি একটি সর্বজনীন কী তৈরি করে যা মাইএসকিউএল ওয়ার্কবেঞ্চটি পড়তে পারে এবং ভয়েলা করতে পারে, সংযুক্ত! (মাইএসকিউএল ওয়ার্কব্যাঞ্চ আসলে কাজ শুরু করার সময় এটি আসলে এক ধরণের অ্যান্টিক্লিম্যাকটিক ছিল তবে খুশির উপায়ে।)

টিএলডিআর: আপনার ব্যক্তিগত কী থেকে সর্বজনীন কী তৈরি করতে পেজেন্ট ব্যবহার করুন।


ব্যক্তিগত কী কখনই সর্বজনীন কী হিসাবে ব্যবহার করা উচিত নয় এ কারণেই তারা ব্যক্তিগত private
জেমস অ্যান্ডারসন

@ জেমসএন্ডারসন কি বাগ সম্পর্কে যা করছেন তা নয় ? পাঠ্যটি ব্যক্তিগত জিজ্ঞাসা করছে, এটি সর্বজনীনভাবে পড়া উচিত ... কমপক্ষে বাগ লিঙ্ক অনুসারে। অথবা না?
থুফির

-1

কেবল যা আমি পেয়েছি ... প্রায়শই আমি এসএসএইচ সার্ভারে শেল ছাড়াই ব্যবহারকারী তৈরি করি (যেমন / sbin / nologin) যাতে কোনও সার্ভারে লগইন করতে পারে এবং সেখানে ফাইলগুলি তৈরি করতে সক্ষম হয় না ... (প্রোডাকশন সিস্টেমের জন্য আমরা ফায়ারওয়ালে এটি করছেন)।

তার পরে একটি নিয়মিত লিনাক্স পরিবেশে, আপনি এখনও পোর্টগুলি তারপরে ফরওয়ার্ড করতে পারেন যেমন:

ssh -Nf -L 3306:%mysql_ip%:%mysql_port% %ssh_host%

এবং এর পরে স্থানীয় ওয়ার্কস্টেশন থেকে এটির সাথে সংযোগ করুন:

mysql -h localhost:3306 -u %mysql_user% -p

কিন্তু ওয়ার্কবেঞ্চ একটি ত্রুটি দেয় যা এটি মাইএসকিউএলে সংযুক্ত হতে পারে না ... আপনি যদি সেই ব্যবহারকারীর শেলটি পরিবর্তন করেন তবে বলুন, / বিন / বাশ - তারপরে সবকিছু ঠিকঠাক কাজ করে।

কেন ওয়ার্কবেঞ্চ দূরবর্তী এসএসএইচ সার্ভারে স্থানীয় শেল প্রয়োজন হয় তা ধারণা নেই।


-1

মাইএসকিএল ওয়ার্কবেঞ্চের সঠিক বিন্যাসটি সহ একটি নতুন আরএসএ কী তৈরি করুন।

উদাহরণ স্বরূপ:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.