ডিফল্টরূপে রুট হিসাবে যোদ্ধা লগইন


94

সমস্যা: ঘন ঘন আমি আমার বাক্সগুলিতে প্রথম কমান্ডটি টাইপ করি su -

প্রশ্ন: আমি vagrant sshডিফল্টরূপে রুট ব্যবহারকারীকে কীভাবে ব্যবহার করব ?

সংস্করণ: অস্পষ্ট 1.6.5


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

উত্তর:


146

এটি দরকারী:

sudo passwd root

যে কেউ প্রথমে যোনিতে একটি রুট পাসওয়ার্ড সেট করার প্রয়োজনে ধরা পড়েছে


4
আমার জীবন সংরক্ষিত. আপনি কী জানেন যে এটিতে কীভাবে যান্ত্রিক কাজ করে তার কোনও প্রতিক্রিয়া রয়েছে?
ম্যাট

4
এখানে পাঠটি হ'ল যদি আপনি একটি বেস বাক্স তৈরি করেন তবে হ্যাশিকর্প দ্বারা প্রস্তাবিত কনভেনশনগুলি অনুসরণ করুন এবং আপনার রুট পাসউডকে 'ভ্যাগ্রান্ট' এ সেট করুন। দেখতে docs.vagrantup.com/v2/boxes/base.html
মাইক ডি

এমন কোনও সার্ভারের সাথে কী এমন কোনও সম্ভাব্য সুরক্ষা সমস্যা রয়েছে যা সত্যই সহজেই অনুমান করা রুট পাসওয়ার্ডটি আপনার ব্যক্তিগত কম্পিউটারে পড়ে আছে, যদিও? নেটওয়ার্ক কল্পনাগুলি এর সাথে সহায়তা করে তা আমি কল্পনা করি তবে আমি অবাক হই।
নাথান বাসানিজ

4
ইঙ্গিত দেওয়ার জন্য আপনাকে ধন্যবাদ। দেখা যাচ্ছে যে উবুন্টুর অসভ্য বাক্সগুলি রুট ব্যবহারকারীর জন্য একটি এলোমেলো পাসওয়ার্ড সেট করে ( গ্রুপ . google.com/d/msg/vagrant-up/xMWKkKW24xs/f5OaV5QWAp4J দেখুন )। সুতরাং সর্বদা প্রথমে একটি রুট পাসওয়ার্ড সেট করতে হবে।
asmaier

আপনাকে ধন্যবাদ, সত্যই এটি দরকার ছিল
ka_lin

110

সমাধান:
আপনার সাথে নিম্নলিখিতগুলি যুক্ত করুন Vagrantfile:

config.ssh.username = 'root'
config.ssh.password = 'vagrant'
config.ssh.insert_key = 'true'

আপনি যদি vagrant sshএখন থেকে থাকেন, আপনি rootনিম্নলিখিত হিসাবে লগইন করবেন এবং আশা করা উচিত:

==> mybox: Waiting for machine to boot. This may take a few minutes...
    mybox: SSH address: 127.0.0.1:2222
    mybox: SSH username: root
    mybox: SSH auth method: password
    mybox: Warning: Connection timeout. Retrying...
    mybox: Warning: Remote connection disconnect. Retrying...
==> mybox: Inserting Vagrant public key within guest...
==> mybox: Key inserted! Disconnecting and reconnecting using new SSH key...
==> mybox: Machine booted and ready!

আপডেট 23-জুন -2015 : এটি 1.7.2 সংস্করণেও কাজ করে। 1.7.0 সাল থেকে কী সিকিউরিটির উন্নতি হয়েছে; এই কৌশলটি আগের পদ্ধতিতে ফিরে যায় যা একটি পরিচিত ব্যক্তিগত কী ব্যবহার করে। এই সমাধানটি এমন কোনও বাক্সের জন্য ব্যবহারের উদ্দেশ্যে নয় যা প্রকাশের পূর্বে করা যথাযথ সুরক্ষা ব্যবস্থা না করে সর্বজনীনভাবে অ্যাক্সেসযোগ্য।

তথ্যসূত্র:


চলমান অবস্থায় পাসওয়ার্ড প্রম্পট পাওয়ার কোনও কারণ থাকতে পারে vagrant ssh? (বর্ণিত পরিবর্তনগুলি করার পরে)
ভ্যাগ্র্যান্ট

@ রবার্টইগন্যাট সম্ভবত আপনার config.ssh.passwordমূল্য যা আছে তার সাথে মিল রাখতে আপনার রুট পাসডাব্লুড সেট করতে হবে । config.ssh.*আপনার বাক্সটি অ্যাক্সেস করার জন্য আপনার নতুন যুক্ত হওয়া লাইনগুলি মন্তব্য করতে সক্ষম হবে এবং তারপরে রুট পাসওয়ার্ডটি পরিবর্তন করতে হবে sudo passwd root
মাইক ডি

11
ইতিমধ্যে সরবরাহ করা হয়েছে এমন কোনও মেশিনের জন্য উপরের কাজটি করুন এবং করুনmkdir -m 700 /root/.ssh && cp ~vagrant/.ssh/authorized_keys /root/.ssh
ফিলিপ আলভারেজ

4
তাজা ভ্যাগ্র্যান্ট ইনস্টলের জন্য কাজ করে না, সম্ভবত কেউ যখন উবুন্টু / জেনিয়াল ব্যবহার করেন, সেখানে সেখানে বেকড ব্যবহারকারীর লগইন ব্যবহার করতে একজন থাকতে পারে। (এছাড়াও দেখুন stackoverflow.com/a/40478402/605463 )
axd

4
অন্য যে কেউ ব্যবহার করছেন centos/7: এই বাক্সটি এলোমেলো রুট পাসওয়ার্ড সেট করে; একটি vagrant sshএবং তারপরে sudo suরুট করতে পারে তবে কনফিগার সেটিংস vagrant upএই ভিএম ব্যবহার করে নতুন করে কাজ করে না ।
mululse

37

আপনি উবুন্টু / বিশ্বাসযোগ্য 64 বাক্সে থাকলে এটি কাজ করে:

vagrant ssh

একবার আপনি উবুন্টু বাক্সে চলে আসুন:

sudo su

এখন আপনি রুট ব্যবহারকারী। নীচে প্রদর্শিত হিসাবে আপনি রুট পাসওয়ার্ড আপডেট করতে পারেন:

sudo -i
passwd

এখন ফাইলের নীচের লাইনটি সম্পাদনা করুন /etc/ssh/sshd_config

PermitRootLogin yes

এছাড়াও, আপনার নিজস্ব বিকল্প ব্যবহারকারী নাম তৈরি করা সুবিধাজনক:

adduser johndoe

এটি পাসওয়ার্ড না চাইতে পর্যন্ত অপেক্ষা করুন।


12

Vagrantfileনীচের মত যদি :

config.ssh.username = 'root'
config.ssh.password = 'vagrant'
config.ssh.insert_key = 'true'

তবে অসম্পূর্ণ এখনও আপনাকে রুট পাসওয়ার্ড জিজ্ঞাসা করে, সম্ভবত আপনি যে বেস বাক্সটি ব্যবহার করেছেন সেটি রুট লগইনের অনুমতি দেওয়ার জন্য কনফিগার করা হয়নি।


উদাহরণস্বরূপ, অফিকাল উবুন্টু 14.04 বাক্সটি সেট করে PermitRootLogin yesনা /etc/ssh/sshd_config

সুতরাং যদি আপনি চান যে কোনও বাক্স রুট ডিফল্ট হিসাবে লগইন করতে পারে (কেবল ভ্যাগ্রান্টফাইলে, আর কোনও কাজ নয়), আপনাকে এগুলি করতে হবে:

  1. ব্যবহারকারীর নাম অনুসারে একটি ভিএম সেটআপ করুন vagrant(মূল ছাড়াও যে কোনও নামই হোক)

  2. লগইন করুন এবং sshd কনফিগার ফাইল সম্পাদনা করুন।

    উবুন্টু: সম্পাদনা করুন /etc/ssh/sshd_config, সেট করুন PermitRootLogin yes

    অন্যান্য: ....

    (আমি কেবল উবুন্টু ব্যবহার করি, অন্যান্য প্ল্যাটফর্মগুলির সংযোগগুলি নির্বিঘ্নে বোধ করি)

  3. একটি নতুন বেস বাক্স তৈরি করুন:

    vagrant package --base your-vm-name
    

    এটি একটি ফাইল তৈরি করুন package.box

  4. এই বেস বাক্সটি অস্পষ্টে যুক্ত করুন:

    vagrant box add ubuntu-root file:///somepath/package.box
    

    তারপরে, ভিএম তৈরি করতে আপনার এই বেস বাক্সটি ব্যবহার করা দরকার যা স্বয়ংক্রিয়ভাবে রুট হিসাবে লগইন করতে দেয়।

  5. দ্বারা মূল ভিএম ধ্বংস করুন vagrant destroy

  6. আসলটি সম্পাদনা করুন Vagrantfile, এতে বাক্সের নাম ubuntu-rootএবং ব্যবহারকারী নাম এতে পরিবর্তন করুন root, তারপরে vagrant upএকটি নতুন তৈরি করুন।

এটি বের করার জন্য আমার কিছুটা সময় ব্যয় হয়েছিল, এটি আমার মতে খুব জটিল। আশা করি অসচ্ছলরা এর উন্নতি করবে।


10

ভুলে যাবেন না রুটকে লগইনের আগে রুট অনুমোদিত!

/etc/ssh/sshd_configফাইলের নীচে কনফিগারেশন কোডটি রাখুন ।

PermitRootLogin yes

তাই আপনাকে স্বাগতম। উত্তরে যথেষ্ট বিশদ এবং প্রসঙ্গ যুক্ত করুন। বিশেষত কিছু ভাল উত্তর দিয়ে পুরানো প্রশ্নের উত্তর দেওয়ার সময়
জয়ন

এটি আমার জন্য মূল সমাধানের চেয়ে বেশি কার্যকর ছিল। ssh আপনাকে ডিফল্টরূপে রুট হিসাবে লগইন করতে দেয় না।
বিম্বিগবাং

2

এটি Vagrantfileআমার জন্য কাজের সাথে যুক্ত করা। এই লাইনগুলি sudo su -প্রতিবার আপনি লগইন করার সময় প্রবেশের সমতুল্য । দয়া করে লক্ষ্য করুন যে এর জন্য ভিএম পুনঃনির্ধারণ করা প্রয়োজন।

config.vm.provision "shell", inline: <<-SHELL
    echo "sudo su -" >> .bashrc
SHELL

4
আপনার খুব সহজ সমাধানের জন্য ধন্যবাদ! প্রতিধ্বনি "sudo -s" >> বাশ্রাক আরও ভাল হবে।
Honiix

@ হোনিক্স মানে -i? 😅
টমাস গটউইগ

@ থমাস গটউইগ আপনি ঠিক বলেছেন, what -i `common -s than এর চেয়ে বেশি সাধারণ, উভয়ই আপনি যা করতে চান তার উপর নির্ভর করে কাজ করে। তবে আমার বক্তব্যটি হ'ল সুডো ও স্যুট এড়ানো ভাল is
Honiix

2

দ্রষ্টব্য: কেবল স্থানীয় উন্নয়নের জন্য এই পদ্ধতিটি ব্যবহার করুন, এটি নিরাপদ নয় । বাক্সটি সরবরাহ করার সময় আপনি পাসওয়ার্ড এবং এসএসএস কনফিগার সেটআপ করতে পারেন। উদাহরণস্বরূপ debian/stretch64বক্স সহ এটি আমার বিধানের স্ক্রিপ্ট:

config.vm.provision "shell", inline: <<-SHELL
    echo -e "vagrant\nvagrant" | passwd root
    echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
    sed -in 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
    service ssh restart
SHELL

এটি রুট পাসওয়ার্ড সেট করে vagrantএবং পাসওয়ার্ড সহ রুট লগইনকে অনুমতি দেয়। আপনি যদি private_networkআইপি ঠিকানার সাথে বল ব্যবহার করে থাকেন 192.168.10.37তবে আপনি এসএসএস করতে পারেনssh root@192.168.10.37

আপনাকে এটি পরিবর্তন করতে হবে echoএবং sedডিফল্ট sshd_configফাইলের উপর নির্ভর করে কমান্ডগুলি প্রয়োগ করতে হবে।


1

আমি জানি এটি একটি পুরানো প্রশ্ন, তবে মূল প্রশ্নটির দিকে তাকানো দেখে মনে হচ্ছে যে ব্যবহারকারী কেবল কমান্ডটি রুট হিসাবে চালাতে চেয়েছিল, আমি যখন উত্তরটি অনুসন্ধান করতে গিয়েছিলাম তখন তা করার দরকার ছিল এবং প্রশ্নটি পেরিয়ে গিয়েছিল।

সুতরাং এটি আমার মতে মূল্যবান:

vagrant ssh servername -c "echo vagrant | sudo -S shutdown 0"

vagrantপাসওয়ার্ডটি কি sudo কমান্ডে প্রতিধ্বনিত হচ্ছে, কারণ আমরা সবাই জানি যে, ভিজাগর অ্যাকাউন্টে সুডোর সুবিধাগুলি রয়েছে এবং আপনি যখন sudo করবেন তখন আপনাকে ব্যবহারকারীর অ্যাকাউন্টের পাসওয়ার্ড নির্দিষ্ট করতে হবে, রুট নয় এবং অবশ্যই ডিফল্টরূপে, যোদ্ধা ব্যবহারকারীর পাসওয়ার্ড vagrant!

ডিফল্টরূপে শাটডাউন করার জন্য আপনাকে রুট সুবিধাগুলি প্রয়োজন তাই আমার ধারণা শটডাউন করা ভাল পরীক্ষা।

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

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


0

এমনকি রুট হিসাবে লগইন করার চেষ্টা করার সময় আমার বিধানের সাথে কিছু সমস্যা হয়েছিল PermitRootLogin yes। আমি এটি তৈরি করেছি যাতে কেবল vagrant sshআদেশটি প্রভাবিত হয়:

# Login as root when doing vagrant ssh
if ARGV[0]=='ssh'
  config.ssh.username = 'root'
end

-8
vagrant destroy
vagrant up

অনুগ্রহ করে এটি যোজনী ফাইলটিতে যুক্ত করুন:

config.ssh.username = 'vagrant'
config.ssh.password = 'vagrant'
config.ssh.insert_key = 'true'

ডিফল্ট ব্যবহারকারী ইতিমধ্যে অস্পষ্ট থেকে এটি কিছুই করে না ।
জামাল

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