আমি কেন দূরবর্তী জুপিটার নোটবুক সার্ভারটি অ্যাক্সেস করতে পারি না?


94

আমি আমার সেন্টোস .5.৫ সার্ভারে একটি বৃহত্তর নোটবুক সার্ভার শুরু করেছি ndআর জুপিটারটি চলছে

[I 17:40:59.649 NotebookApp] Serving notebooks from local directory: /root
[I 17:40:59.649 NotebookApp] 0 active kernels 
[I 17:40:59.649 NotebookApp] The Jupyter Notebook is running at:https://[all ip addresses on your system]:8045/
[I 17:40:59.649 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

আমি যখন একই স্থানীয় অঞ্চল নেটওয়ার্কে জুপিটারকে দূর থেকে অ্যাক্সেস করতে চাই, তখন খুলুন বলুন http://192.168.1.111:8045/, আমি কোনও বৃহত্তর পৃষ্ঠা মোটেও খুলতে পারি না। উপায় দ্বারা, আমি সফলভাবে রিমোট সেন্টো সার্ভার অ্যাক্সেস করতে পারি।

সম্ভাব্য কারণ কী?

উত্তর:


150

আপনি কি বাহ্যিক সংযোগের অনুমতি দিতে jupyter_notebook_config.py ফাইল কনফিগার করেছেন ?

ডিফল্টরূপে, জপিটার নোটবুক কেবল লোকালহোস্টের সংযোগ গ্রহণ করে (যেমন, একই কম্পিউটার থেকে এটি চালু রয়েছে)। ডিফল্ট '' থেকে '*' থেকে নোটবুক অ্যাপ.নল_অরগিন বিকল্পটি সংশোধন করে আপনি জুপিটারকে বাহ্যিকভাবে অ্যাক্সেস করতে পারবেন।

c.NotebookApp.allow_origin = '*' #allow all origins

নোটবুকটি যে আইপি শুনতে পাবে আপনাকে সেগুলিও পরিবর্তন করতে হবে:

c.NotebookApp.ip = '0.0.0.0' # listen on all IPs


এছাড়াও এই থ্রেডের পরবর্তী উত্তরে বিশদটি দেখুন ।

জুপিটার নোটবুক কনফিগারেশনের ফাইলটিতে ডকুমেন্টেশন।


9
jupyter notebook --ip 0.0.0.0আপনার সাথে জুপিটার ব্যবহার করে একই ফলাফলের সাথে রানটাইম সম্পর্কে সিদ্ধান্ত নিতে পারে তবে কোনও কনফিগারেশন ফাইলের প্রয়োজন ছাড়াই।
জান্নিকরা

অন্য কোন অতিরিক্ত ধারণা? আমি এই প্রশ্নে উপলব্ধ প্রতিটি উত্তরকে আক্ষরিক অর্থে চেষ্টা করেছি এবং তাদের মধ্যে কেউই আমার পক্ষে কাজ করেনি। আমি কনফিগার সেট করেছি, বহিরাগত প্রবেশাধিকারের অনুমতি পেয়েছি, সমস্ত আইপি এবং উত্স অনুমোদন করেছি ... এখনও সংযোগ পেতে অস্বীকার করেছি। কেন এত কঠিন হতে হবে তা আমি বুঝতে পারছি না। উইন্ডোজ ব্যবহার সত্যিই আমাকে বিরক্ত করে।
লুকাস লিমা 17

72

আমি নীচের দেখানো কমান্ডটি ব্যবহার করে আইপি দ্বারা আমার স্থানীয় সার্ভারটি অ্যাক্সেস করতে পেরেছি:

jupyter notebook --ip xx.xx.xx.xx --port 8888

xx.xx.xx.xxজুপিটার সার্ভারের স্থানীয় আইপি দ্বারা প্রতিস্থাপন করুন ।


27
আমি ব্যবহার করেছিjupyter notebook --ip 0.0.0.0 --port 8888
তালহা জুনায়েদ

4
0.0.0.0লোকাল হোস্ট নয়, সমস্ত নেটওয়ার্ক ইন্টারফেসে নোটবুকে অ্যাক্সেস সক্ষম করবে। আপনি যদি এটি চালাচ্ছেন এবং একই মেশিনে এটি অ্যাক্সেস করছেন, বা আপনি এর সামনে 127.0.0.1
এনগিনেক্সের

এছাড়াও আপনি যদি ইসি 2 এর মতো কোনও মেঘের দৌড়ে চলেছেন তবে 8888 বন্দরে অভ্যন্তরীণ ট্র্যাফিকের অনুমতি দেওয়ার জন্য আপনার সুরক্ষা গোষ্ঠীটি সম্পাদনা করে তা নিশ্চিত করুন
ম্যাড সায়েন্টিস্ট

@ টিও কোক কেওং: আপনি কমান্ডটি কোথায় প্রবেশ করবেন? শেল প্রম্পটে?
এমএসআইএস

37

জেমস ২৩৩ ইতিমধ্যে সঠিক উত্তরটি জানিয়েছে। শুধু এটি ফর্ম্যাট করা

আপনি যদি ইতিমধ্যে jupyter_notebook_config.py ফাইল কনফিগার না করে থাকেন

পদক্ষেপ 1: কনসোলে এই লাইনটি টাইপ করে ফাইলটি তৈরি করুন

jupyter notebook --generate-config

পদক্ষেপ 2: মানগুলি সম্পাদনা করুন

gedit  /home/koushik/.jupyter/jupyter_notebook_config.py

(ডিফল্ট মানগুলি যে কোনওভাবে মন্তব্য করা হয়েছে বলে নীচের দুটি লাইন যুক্ত করুন)

c.NotebookApp.allow_origin = '*' # সমস্ত উত্স না

c.NotebookApp.ip = '0.0.0.0' # সমস্ত আইপি শুনুন

স্টিপি 3: একবার আপনি জিডিট বন্ধ করে দিলে আপনার পোর্টটি অবরুদ্ধ হয়ে যায়

sudo ufw allow 8888 # আপনার টিসিপি সক্ষম করুন: 8888 পোর্ট, যা আপনার ডিফল্ট জুপিটার পোর্ট

পদক্ষেপ 4: একটি পাসওয়ার্ড সেট করুন

jupyter notebook password # এটি পাসওয়ার্ডের জন্য অনুরোধ জানাবে

পদক্ষেপ 5: বৃহস্পতিবার শুরু করুন

jupyter notebook

এবং http://xxx.xxx.xxx.xxx:8888/login এর মতো সংযুক্ত ?


আরেকটা জিনিস. যদি আপনি এখনও সমস্যাগুলির মুখোমুখি হন c.NotebookApp.allow_originতবে অ্যাড করার আগে c=get_config()। এছাড়াও যখন আপনার ব্যক্তিগত কম্পিউটারে লিংকে খোলার পরিবর্তে ব্যবহার httpsব্যবহার http। সুতরাং এটি কিছু খুলবে http://external_ip_from_GCP_console:8888। ব্যবহার httpকরা গুরুত্বপূর্ণ, এটি একটি ছোট বিশদ এবং ওভারল্যাপক করা সহজ। উত্তর সঙ্কলনের জন্য @ কুশিককে ধন্যবাদ। আমি আপনার উত্তরটিকে উজ্জীবিত করেছি কারণ এটি আমার পক্ষে কাজ করে।
স্ট্যাটগুইজার

পাসওয়ার্ড কোথায় সংরক্ষণ করা হয়? jupyter_notebook_config.py4 ধাপে পাসওয়ার্ড সেট করার পরে এটি খুঁজে পাওয়া যাবে না
লিয়াং

19

রেডহ্যাট In-তে, বৃহস্পিটার কমান্ড চালানোর আগে আমাদের নির্দিষ্ট পোর্টটির অনুমতি দেওয়া দরকার। বলে বন্দরের কথা 8080

iptables -I INPUT 1 -p tcp --dport 8080 -j ACCEPT

তারপরে আমরা এটি স্বাভাবিকভাবে চালাতে পারি। উদাহরণস্বরূপ, ব্যবহার করে:

jupyter notebook --ip 0.0.0.0 --no-browser --port=8080 --allow-root

অথবা আপনি যা পছন্দ করেন


ধন্যবাদ, আমার সিস্টেমটি সেন্টোস 7 তবে জুপিটারে পরিবেশন করতে সমস্যা রয়েছে। প্রথম আমি ফায়ারওয়াল অক্ষম করেছি তবে এখনও পরিবেশন করতে পারছি না তবে বিশেষত দ্বিতীয় লাইন ===> জুপিটার নোটবুক প্রয়োগ করে - ০.০.০.০ - কোনও ব্রাউজার --port = 8080 - নালাগুলি সমস্যার সমাধান করবে না। এখন এটা কাজ করে.
রেডআ্যারো

নির্দিষ্ট ipএবং portনিখুঁত সহ নোটবুক চালান
Wenmin Wu

এটি আমার জন্য জুপিটারহাবের সাথে অ্যাক্সেস সমস্যার সমাধান করে। স্ট্যান্ডার্ড পোর্ট জুপিটারহব 127.0.0.1 এর বাইরে সংযোগের অনুমতি দেয় না
এডুয়ার্ডো পিনগেটেলি

ইসি 2 উদাহরণগুলির জন্যও কাজ করে। এটি কিছুটা বিভ্রান্তিকর কারণ হিসাবে সুরক্ষা গোষ্ঠীর কাছে এই বন্দরটির অনুমতি রয়েছে তবে আপনি এই প্যারামগুলি দিয়ে চালা না করা পর্যন্ত সার্ভার উপলব্ধ নেই।
ভাদিম

10

আপনার কমান্ড লাইন থেকে আমরা দেখতে পাচ্ছি যে আপনার জুপিটার সার্ভারটি স্বাভাবিকভাবে চলমান The আপনি আপনার দূরবর্তী জুপিটার সার্ভারটি অ্যাক্সেস করতে পারবেন না কারণ হ'ল আপনার রিমোট সেন্টোস 6.5 সার্ভারের ফায়ারওয়াল নিয়মগুলি আপনার স্থানীয় ব্রাউজার থেকে আগত অনুরোধটিকে অবরুদ্ধ করে, অর্থাৎ আপনার টিসিপি ব্লক করুন: 8045 বন্দর।
sudo ufw allow 80 # enable http server
sudo ufw allow 443 # enable https server
sudo ufw allow 8045 # enable your tcp:8045 port
তারপরে আবার আপনার জুপিটারটি অ্যাক্সেস করার চেষ্টা করুন।


হতে পারে আপনার jupyter_notebook_config.pyফাইলটিতে সেই জায়গাটিকে আপনার কোনও অসুবিধা ও সম্পাদনা করতে হবে:

c.NotebookApp.allow_remote_access = True

এমনকি আপনার ভিপিএন থাকলে তা বন্ধ করে দিন ।


8

বিকল্পভাবে আপনি কেবল সার্ভারে একটি টানেল তৈরি করতে পারেন:

ssh -i <your_key> <user@server-instance> -L 8888:127.0.0.1:8888

তারপরে 127.0.0.1:8888আপনার ব্রাউজারে কেবল খুলুন ।

আপনার -i <your_key>যদি পরিচয় ফাইল নেই তবে আপনি বাদও দিতে পারেন।


যদি কেউ বিভিন্ন বন্দর ব্যবহার 8888:127.0.0.1:8888করে, প্রথমটি 8888হ'ল স্থানীয় মেশিনের বন্দর, পরেরটি দূরবর্তী মেশিনের বন্দর।
ইউয়েন তাউ

4

অন্য কারণটি ফায়ারওয়াল হতে পারে। এমনকি আমাদের সাথেও একই সমস্যা ছিল

জুপিটার নোটবুক --ip xx.xx.xx.xxx --port xxxx।

তারপরে এটি আমাদের নতুন সেন্টোস 7-তে ফায়ারওয়াল হিসাবে পরিণত হয়েছে।


2

আমি উইন্ডোজ 10 এ অ্যানাকোন্ডা 3 ব্যবহার করছি আপনি যখন এটি ইনস্টল করবেন তখন এটি "এনভায়ারোমেন্ট ভেরিয়েবলগুলিতে যুক্ত করুন" পতাকাঙ্কিত করবে।


পূর্বশর্ত: একটি নোটবুক কনফিগারেশন ফাইল

আপনার কাছে নোটবুকের কনফিগারেশন ফাইল রয়েছে কিনা তা পরীক্ষা করে দেখুন jupyter_notebook_config.py,। এই ফাইলটির ডিফল্ট অবস্থান হল আপনার হোম ডিরেক্টরিতে অবস্থিত আপনার জুপিটার ফোল্ডার:

  • উইন্ডোজ: C:\\Users\\USERNAME\\.jupyter\\jupyter_notebook_config.py
  • ওএস এক্স: /Users/USERNAME/.jupyter/jupyter_notebook_config.py
  • লিনাক্স: /home/USERNAME/.jupyter/jupyter_notebook_config.py

আপনার যদি ইতিমধ্যে একটি জপিটার ফোল্ডার না থাকে, বা যদি আপনার জুপিটার ফোল্ডারে কোনও নোটবুক কনফিগারেশন ফাইল না থাকে তবে নিম্নলিখিত কমান্ডটি চালান:

$ jupyter notebook --generate-config

এই কমান্ডটি প্রয়োজনে জুপিটার ফোল্ডারটি তৈরি করবে jupyter_notebook_config.pyএবং এই ফোল্ডারে নোটবুক কনফিগারেশন ফাইল তৈরি করবে ।


ডিফল্টরূপে, জপিটার নোটবুক কেবল লোকালহোস্ট থেকে সংযোগ গ্রহণ করে।

jupyter_notebook_config.pyসমস্ত আগত সংযোগ গ্রহণ করতে ফাইলটিকে নিম্নলিখিত হিসাবে সম্পাদনা করুন :

c.NotebookApp.allow_origin = '*' #allow all origins

নোটবুকটি যে আইপি শুনতে পাবে আপনাকে সেগুলিও পরিবর্তন করতে হবে:

c.NotebookApp.ip = '0.0.0.0' # listen on all IPs


0

আপনি যদি কনডা পরিবেশ ব্যবহার করছেন তবে আপনার আবার কনফিগারেশন ফাইল সেট আপ করা উচিত। এবং ফাইল অবস্থান কিছু হবে। আমি কনডায় এনভিটি তৈরির পরে কনফিগার ফাইল সেটআপ করিনি এবং এটিই আমার সংযোগ সমস্যা ছিল।

C:\Users\syurt\AppData\Local\Continuum\anaconda3\envs\myenv\share\jupyter\jupyter_notebook_config.py

0

যদি আপনার এখনও সমস্যা হয় এবং আপনি ইসি 2 এডাব্লুএস উদাহরণের মতো কিছু চালাচ্ছেন তবে এটি কেবল এডাব্লুএস কনসোলের মাধ্যমে পোর্টটি খোলার ক্ষেত্রে হতে পারে।

এই উত্তর দেখুন


0

আমি একই সমস্যা পেয়েছি তবে উপরের কাজের কোনওটিই আমার পক্ষে কাজ করে না। তবে যদি আমি একই কনফিগারেশন সহ একটি ডকার সংস্করণ জুপিটার নোটবুক সেটআপ করি তবে এটি আমার পক্ষে কার্যকর।

আমার অবস্থানের জন্য, এটি iptables নিয়ম সমস্যা হতে পারে। কখনও কখনও আপনি কেবল ufwআপনার সার্ভারে সমস্ত রুটের অনুমতি দেওয়ার জন্য ব্যবহার করতে পারেন । তবে আমার iptables -Fসব নিয়ম সাফ করার জন্য। তারপরে চেক করুনiptables -L -n এটি কাজ করে কিনা করে দেখুন।

সমস্যা স্থির।


0

jupyter_notebook_config ফাইলটিতে নিম্নলিখিতটি সম্পাদনা করুন
প্রকৃত কম্পিউটারের আইপি ঠিকানা লিখুন
c.NotebookApp.ip = '192.168.xx'
c.NotebookApp.allow_origin = '*'

লগইন পাসওয়ার্ড
jupyter নোটবুক পাসওয়ার্ড সহ ক্লায়েন্ট পাশ লঞ্চ jupyter নোটবুক

ব্রাউজারে পাসওয়ার্ড লগইন সেট করার পরে এবং তারপরে পোর্টের পরে দূরবর্তী সার্ভার আইপি ঠিকানা টাইপ করুন। উদাহরণ 192.168.1.56:8889


0

নীচের পদক্ষেপটি করার চেষ্টা করুন:

নিম্নলিখিত কমান্ডটি পঠন / পাঠ্যকে স্থির করে

    sudo chmod -R a+rw /home/ubuntu/certs/mycert.pem

0

আমি একটি অনুরূপ সমস্যার মুখোমুখি হয়েছিলাম এবং নিম্নলিখিতগুলি করার পরে আমি এটি সমাধান করেছি:

  1. আপনার জুপিটার কনফিগারেশন ফাইলটি পরীক্ষা করুন: এটি বিশদে এখানে বর্ণিত হয়েছে; https://testnb.readthedocs.io/en/stable/example/Notebook/Configuring%20the2020 নোটবুক ১০০ এবং ৯০ সার্ভার html

- জুপিটার সার্ভারটি কীভাবে আপনার লোকাল মেশিন আইপি শোনা যায় তা শিখতে আপনার উপরের লিঙ্কটি থেকে সরাসরি প্রয়োজন হবে - আপনার স্থানীয় মেশিন আইপি জানতে হবে (এটি খুঁজে বের করার জন্য আমি উবুন্টুতে "ifconfig -a" ব্যবহার করব) - Centos6 জন্য পরীক্ষা করুন

আপনি আপনার কনফিগারেশনটি সেটআপ শেষ করার পরে, আপনি নিজের স্থানীয় আইপিতে জুপিটার নোটবুক চালাতে পারেন: জুপিটার নোটবুক --ip = * - কোন ব্রাউজার

দয়া করে আপনার আইপি ঠিকানার সাথে * প্রতিস্থাপন করুন: বৃহস্পতি নোটবুক --ip = 192.168.xx - কোন ব্রাউজার

আপনি এখন এই আইপি: পোর্টটি ব্যবহার করে রাউটারের সাথে সংযুক্ত যে কোনও ডিভাইস থেকে আপনার জপিটার সার্ভারটি অ্যাক্সেস করতে পারেন (পোর্টটি সাধারণত 8888 হয়, তাই আমার ক্ষেত্রে যেমন আমি অন্য ডিভাইসগুলি থেকে আমার সার্ভারটি অ্যাক্সেস করতে "192.168.xx: 8888" ব্যবহার করেছি)

এখন আপনি যদি সার্বজনীন আইপি থেকে এই সার্ভারটি অ্যাক্সেস করতে চান তবে আপনাকে তা করতে হবে:

  1. আপনার সার্বজনীন আইপি সন্ধান করুন (কেবলমাত্র আমার আইপি কী তা গুগলে টাইপ করুন)
  2. একই রাউটারের সাথে সংযুক্ত না হয়ে থাকা কোনও ডিভাইস থেকে সার্ভার অ্যাক্সেস করতে আপনার স্থানীয় আইপি এর পরিবর্তে এই আইপি ঠিকানাটি ব্যবহার করুন দয়া করে নোট করুন: আপনার লিনাক্স সার্ভারটি ভার্চুয়াল মেশিনে চলতে থাকলে আপনাকে পাবলিক আইপি থেকে আপনার ভিবিতে অ্যাক্সেসের অনুমতি দেওয়ার জন্য আপনার রাউটারটি সেট করতে হবে, সেটিংস রাউটার ধরণের উপর নির্ভর করে। অন্যথায়, আপনার রাউটারের সাথে সংযুক্ত না হওয়া কোনও ডিভাইস থেকে, বা আপনার স্থানীয় আইপি এবং একই রাউটারের সাথে সংযুক্ত যে কোনও ডিভাইস থেকে পোর্ট সেট ব্যবহার করে আপনি সর্বজনীন আইপি এবং এর জন্য পোর্ট সেট ব্যবহার করে সার্ভারটি অ্যাক্সেস করতে সক্ষম হবেন!

-1

এটি কি আপনার ব্যক্তিগত আইপি ঠিকানা? যদি তাই হয় তবে আপনার আপনার সর্বজনীনটি ব্যবহার করা দরকার। এটি কি তা জানতে আইপিকিনে যান। আমি জানি আপনি একই ল্যানে রয়েছেন, তবে এটি কোনও সমস্যার সমাধান করে কিনা তা দেখার চেষ্টা করুন।


-2

যে কেউ এখনও আটকে আছে - এই পৃষ্ঠার নির্দেশাবলী অনুসরণ করুন ।

মূলত:

  1. প্রাথমিকভাবে এডাব্লুএস দ্বারা বর্ণিত পদক্ষেপগুলি অনুসরণ করুন।

    1. সাধারণ হিসাবে এসএসএইচ খুলুন।
    2. source activate python3
    3. জুপিটার নোটবুক
  2. কিছু কাটা এবং পেস্ট করবেন না। পরিবর্তে একটি নতুন টার্মিনাল উইন্ডো খুলুন ছাড়া প্রথম এক ক্লোজিং।

  3. নতুন উইন্ডোতে উপরের লিঙ্কে বর্ণিত হিসাবে এসএসএইচ কমান্ড প্রবেশ করান।

  4. একটি ওয়েব ব্রাউজার খুলুন এবং http://127.0.0.1:8157 এ যান

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