উত্তর:
এরিয়ারিং করে এর জন্য একটি টিউটোরিয়াল পেয়েছি:
এটি মূলত গিথুব ব্যবহারকারী ইমজাকি, এফপিকিউসি, কিউরিস, থ্যালাকেনক, মানুচেহরি এবং আজারিং (নিজেই) এখানে ছড়িয়ে দিয়েছিলেন:
https://github.com/Microsoft/BashOnWindows/issues/612
নোট করুন যে sshd চালানোর ক্ষেত্রে সুরক্ষা জড়িত রয়েছে। ডাব্লুএসএল এর সুরক্ষা মডেলটি বেক করার জন্য আরও দীর্ঘ সময় না আসা পর্যন্ত আপনার ধরে নেওয়া উচিত যে আপনার উইন্ডোজ বাক্সে যে কেউ প্রবেশ করতে পারে তার লিনাক্স-স্তরের অনুমতি নির্বিশেষে উইন্ডোজ ব্যবহারকারীর জন্য sshd হিসাবে যে কোনও কমান্ড করার অনুমতি রয়েছে। (অনুশীলনের চেয়ে অনুমতিগুলি সম্ভবত আরও নিয়ন্ত্রণমূলক, তবে ডাব্লুএসএল এর প্রাথমিক সুরক্ষা মডেল খুব পরিশীলিত হওয়ার উদ্দেশ্যে নয়))
গিথুব থেকে নির্দেশাবলী একত্রিত করার চেষ্টা করা:
sudo dpkg-reconfigure
openssh-server
ব্যাশ শেল চালিয়ে এসএসএইচ হোস্ট কী তৈরি করুনsudo nano /etc/ssh/sshd_config
; UsePrivilegeSeparation yes
পড়ার জন্য লাইনটি
সম্পাদনা করুন UsePrivilegeSeparation no
। (এটি প্রয়োজনীয় কারণ
সিস্কেল UsePrivilegeSeparation
ব্যবহার করে chroot()
, যা ডাব্লুএসএল বর্তমানে সমর্থন করে না))/etc/ssh/sshd_config
, আপনি এতে বেছে নিতে বেছে নিতে
PasswordAuthentication no
পারেন PasswordAuthentication yes
। অন্যথায় আপনাকে এসএসএইচ কীগুলি সেট আপ করতে হবে।/etc/ssh/sshd_config
এবং প্রস্থান করুন।sudo visudo
সুডোর ফাইল সম্পাদনা করতে চালান । লাইন যুক্ত করুন
$USER ALL = (root) NOPASSWD: /usr/sbin/sshd -D
আপনার লিনাক্স ব্যবহারকারীর সাথে "$ ব্যবহারকারী" প্রতিস্থাপন করা হচ্ছে। সংরক্ষণ করুন এবং প্রস্থান. যদি ভিসুডো অভিযোগ করে যে আপনার পরিবর্তনগুলি অবৈধ, অন্যথায় আপনি আপনার সিস্টেমে sudo ব্রেক করতে পারেন!
autostartssh.vbs
নিম্নলিখিতগুলিতে উইন্ডোতে একটি পাঠ্য ফাইল তৈরি করুন
:
set ws=wscript.createobject("wscript.shell")
ws.run "C:\Windows\System32\bash.exe -c 'sudo /usr/sbin/sshd -D'",0
autostartssh.vbs
সিস্টেম বুট চলমান একটি টাস্ক যুক্ত করুন । ব্যবহারের wscript.exe
চালান এবং প্যারামিটার হিসাবে VBS স্ক্রিপ্ট অবস্থান কমান্ড হিসাবে।এবং এটি হ'ল - আপনার উইন্ডোজ কম্পিউটারে একটি লিনাক্স ওপেনশ সার্ভার চালানো উচিত!
UsePrivilegeSeparation = yes
চালানোর প্রয়োজন ছাড়া এটি নিয়ে কাজ করছে sudo /bin/mkdir -p /var/run/sshd
। ডাব্লুএলএস কি এখন ক্রুটকে সমর্থন করে (), ওপেনস্যাশের উত্সে কোনও কার্যকারিতা রয়েছে, বা = No
সুরক্ষার সুপারিশের চেয়ে বেশি কিছু স্থাপন করা হচ্ছে ? এছাড়াও, উইন্ডোজ টাস্কটি কেবলমাত্র আমার জন্য কাজ করবে যদি আমার ব্যবহারকারীর লগ ইন থাকে
/etc/ssh/sshd_config
পড়তে থাকা লাইনটি মন্তব্য করুন Port 22
এবং এতে স্যুইচ করুন Port 8822
। এর একটি কারণ উইন্ডোজ ২২-তে কোনও প্রকার এসএসএইচ প্রক্রিয়া চালাচ্ছে I've
আমারও একই কাজ করা দরকার
উইন্ডোজ বুটের উপর ক্রোন এর সমস্ত পরিষেবা সহ উবুন্টু লিনাক্স সাবসিস্টেমটি কীভাবে বুট করা যায় এবং লিনাক্স সাব সিস্টেমটি 'রিবুট' করার উপায় সরবরাহ করে তা এখানে রয়েছে।
আমি আমাদের সার্ভারে ওপেনশ-সার্ভার, এনগিনেক্স এবং মারিয়্যাডবি ডাটাবেসটি সফলভাবে হোস্ট করছি।
লিনাক্স সাবসিস্টেম ইনস্টল করুন
আটকান:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
উইন্ডোজ স্টোর থেকে উবুন্টু ইনস্টল করুন।
Sudo পাসওয়ার্ড প্রম্পট সরান (প্রয়োজনীয়)
আটকান:
sudo sed -i "s/%sudo.*/%sudo ALL=(ALL:ALL) NOPASSWD:ALL/g" /etc/sudoers
এসএসএইচ পাসওয়ার্ড লগইন সক্ষম করুন (alচ্ছিক)
আটকান:
sudo sed -i '/StrictModes yes/c\StrictModes no' /etc/ssh/sshd_config
sudo sed -i '/ChallengeResponseAuthentication/c\ChallengeResponseAuthentication no' /etc/ssh/sshd_config
sudo sed -i '/PasswordAuthentication/c\PasswordAuthentication yes' /etc/ssh/sshd_config
উইন্ডোজ অটোলজিন শুরুতে (আপনার যদি পাসওয়ার্ড বা আরডিপি থাকে তবে প্রয়োজন)
ব্রাউজ করুন
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
একটি নতুন স্ট্রিং তৈরি করুন DefaultPassword
এবং মান হিসাবে ব্যবহারকারীর পাসওয়ার্ড লিখুন।
শুরুতে ব্যাশ / ক্রোন লুপ চালান
linux.bat
মধ্যেshell:startup
আটকান:
C:\Windows\System32\bash.exe -c 'while [ true ]; do sudo /usr/sbin/cron -f; done'
ক্রোন শুরু করতে অ্যাপ্লিকেশন / পরিষেবা যুক্ত করুন
sudo crontab -e
ওপেনশ-সার্ভার, এনগিনেক্স, মাইএসকিএল, পিএইচপি এর মতো প্রারম্ভিক অ্যাপ্লিকেশন যুক্ত করুন:
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
@reboot . $HOME/.profile; /usr/sbin/sshd -D
#@reboot . $HOME/.profile; service php7.1-fpm start # Uncomment for php7.1 fpm
#@reboot . $HOME/.profile; service mysql start # Uncomment for mysql/mariadb
#@reboot . $HOME/.profile; service nginx start # Uncomment for nginx
সংরক্ষণ করুন এবং প্রস্থান করুন: ctrlxতারপরে yএবং টিপুন enter।
উইন্ডোজ রিবুট না করে লিনাক্স সাব সিস্টেমটি পুনরায় বুট করুন
বাশ বা এসএসএইচ খুলুন
sudo service ssh restart
এটি বর্তমান উদাহরণটি বন্ধ করে দেবে এবং ক্রোন প্রয়োগকারী একটি নতুন তৈরি করবে।
অতিরিক্ত - পিএইচপি 7.1 ইনস্টল করুন (পুরোপুরি সরাসরি নয়)
সুন্দর মানক সেটআপের জন্য নীচের কমান্ডগুলি চালনা করুন:
mkdir /run/php && chmod -R 777 /run/php
sudo add-apt-repository ppa:ondrej/php && sudo apt update
PHPV=7.1 && sudo apt install --allow-unauthenticated -y php${PHPV}-fpm php${PHPV}-gd php${PHPV}-json php${PHPV}-mysqlnd php${PHPV}-curl php${PHPV}-intl php${PHPV}-mcrypt php${PHPV}-imagick php${PHPV}-zip php${PHPV}-xml php${PHPV}-mbstring
'ওয়ানক্লাউড' সেটআপের জন্য নীচের কমান্ডটি চালান:
PHPV=7.1 && apt install --allow-unauthenticated -y php${PHPV}-redis redis-server php${PHPV}-ldap php${PHPV}-smbclient
অতিরিক্ত - এনগিনেক্স ওয়েব সার্ভার ইনস্টল করুন
পিএইচপি 7.1 দিয়ে বেস সেটআপের জন্য নীচের কমান্ডগুলি চালনা করুন:
sudo add-apt-repository ppa:nginx/stable
sudo apt update && sudo apt -y install nginx
sudo sed -i 's:access_log /var/log/nginx/access.log;:access_log off;:g' /etc/nginx/nginx.conf
sudo sed -i '/index index.html/c\\tindex index.html index.php index.htm index.nginx-debian.html;' /etc/nginx/sites-available/default
STR='}\n\n\tlocation ~ \.php$ {\n\t\tinclude snippets\/fastcgi-php.conf;\n\t\tfastcgi_pass unix:\/var\/run\/php\/php7.1-fpm.sock;\n\t}'
sudo sed -i "0,/}/s//$STR\n/" /etc/nginx/sites-available/default
sudo service nginx restart
অতিরিক্ত - মারিয়্যাডবি'র মাইএসকিএল ডাটাবেস ইনস্টল করুন
মাইএসকিএল ডাটাবেস সার্ভারের জন্য নীচের কমান্ডগুলি চালনা করুন:
RELEASE=`lsb_release -a | tail -1 | cut -f2`
sudo apt install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository "deb [arch=i386,amd64,ppc64el] https://mirrors.evowise.com/mariadb/repo/10.3/ubuntu $RELEASE main"
sudo apt update && sudo apt --allow-unauthenticated -y install mariadb-server
যখন অনুরোধ করা হয়, একটি রুট ডাটাবেস ব্যবহারকারী পাসওয়ার্ড সেট করুন।
@ পোমার উত্তরটি খুব ভাল, এবং আমার উত্তরটি এর ভিত্তিতে তৈরি। আমি এতে কিছু উন্নতি যুক্ত করতে চাই, যদিও:
service
পরিবর্তে কলিং sshd
সরাসরি: 'sudo service ssh start'
পরিবর্তে 'sudo /usr/sbin/sshd -D'
। এইভাবে, আপনি একাধিকবার স্ক্রিপ্ট কল করলেও কেবলমাত্র সর্বাধিক একটি sshd
প্রক্রিয়া হবে। এছাড়াও এটি চালানো অন্য স্ক্রিপ্টের সাহায্যে এটি হত্যা করা সহজ 'sudo service ssh stop'
। সুডোয়ার্স ফাইলে, আপনাকে কেবল এটির /usr/sbin/sshd -D
সাথে প্রতিস্থাপন করতে হবে /usr/sbin/service
।sshd
সরাসরি পরিত্রাণ পেতে -D
বিকল্প , কারণ যে অনির্দিষ্টকালের জন্য পুরোভূমিতে একটি প্রক্রিয়া করা হবে। আপনি যদি আমাকে বিশ্বাস না করেন তবে কেবল করুন top
এবং আপনি যখন স্ক্রিপ্টটি ডাকবেন তখন প্রতিটি সময় আপনি init
একটি sudo
প্রক্রিয়া দেখতে পাবেন । -D
পাশাপাশি sudoers ফাইল বিকল্প অপসারণ করতে ভুলবেন না !autostartsshd.ps1
এবং নিচের পেস্ট: bash -c 'sudo service ssh start'
। স্ক্রিপ্টটি কার্যকর করতে, ডানদিকে ক্লিক করুন এবং ক্লিক করুন Run with PowerShell
।অন্য স্ট্যাক ওভারফ্লো প্রশ্নের একই ধাপ রয়েছে: /superuser//a/1114162/182590
আশা করি যে কাউকে সাহায্য করবে :)
sudo service ssh start
এবং তারপরে বন্ধ করুন এটি ssh ডিমনকে হত্যা করবে। আমার গাইড লেখার মুহুর্তে এটি কি ঘটেছে।
করা bash -c "echo [password] | service ssh start"
উইন্ডোজ স্টার্টআপ লিপিতে, এবং [পাসওয়ার্ড] প্রতিস্থাপন আপনার নিজস্ব উবুন্টু পাসওয়ার্ড ব্যবহার
sudo
আপনার বাক্যটি বোঝায় এমন প্রয়োজনীয় কীওয়ার্ডও রয়েছে )। এটি ঠিক কাজ করে না। এমন নয় যে কোনওভাবেই আপনার পাসওয়ার্ডটি সরলপদে সংরক্ষণ করা উচিত!
@ পোমা এবং @ হিস্ট্রন উত্তরগুলি দুর্দান্ত।
আমি উইন্ডোজ টাস্ক শিডিয়ুলারে ssh টাস্ক কীভাবে যুক্ত করব তার শেষ পয়েন্টের বর্ণনাটি প্রসারিত করতে চাই কারণ এতে কিছু বিকল্প স্যুইচিংয়ের প্রয়োজন:
এটি সরাসরি ব্যাশ অনুরোধ ব্যবহৃত হয়। এটিকে ভিবিএস বা পাওয়ারশেল স্ক্রিপ্টগুলিতে মোড়ানোর দরকার নেই।
আমি @ হিন্ট্রন যে কারণে ব্যাখ্যা করেছে তার জন্য আমি পরিষেবা কমান্ড ব্যবহার করি। অতিরিক্তভাবে সরাসরি sshd অনুরোধ ত্রুটি দেয়
অনুপস্থিত পৃথকীকরণ ডিরেক্টরি: / var / রান / sshd হারিয়েছে
এই ক্ষেত্রে এটি sudo visudo
কমান্ড দ্বারা এই এন্ট্রি যুক্ত করা উচিত
ALL ALL = (root) NOPASSWD: /usr/sbin/service ssh *
এছাড়াও লক্ষ করুন যে এখানে সমস্ত ব্যবহারকারী (প্রথম কলাম) sshd শুরু বা বন্ধ করতে পারে। যদি আপনি এই উইন্ডোজ মেশিনের কেবলমাত্র একজন ব্যবহারকারী হন তবে এটি ঠিক করা উচিত।
নামে একটি ফাইল তৈরি করুন এবং নিম্নলিখিত wsl_setup.bat
হিসাবে সামগ্রী যুক্ত করুন
wsl -u root -e sudo service ssh start
wsl -u root -e sudo service nginx start
যোগ wsl_setup.bat
করার জন্য উইন্ডোজ স্টার্টআপ ফোল্ডার ফাইল উইন্ডোজ -10-পরিবর্তন-সূচনার-অ্যাপ্লিকেশান
আপনার উইন্ডোজ অ্যাকাউন্টটি পুনরায় চালু করুন এবং লগ ইন করুন (হ্যাঁ, আপনাকে লগ ইন করতে হবে)