আমার ক্ষেত্রে, আমি একটি এসভিএন চেকআউট করতে চাই:
svn co svn+ssh://10.106.191.164/home/svn/shproject
তবে, আমি সেই এক লাইনে পাসওয়ার্ড রাখতে চাই, যাতে এটি পপ আপ না হয়।
আমার ক্ষেত্রে, আমি একটি এসভিএন চেকআউট করতে চাই:
svn co svn+ssh://10.106.191.164/home/svn/shproject
তবে, আমি সেই এক লাইনে পাসওয়ার্ড রাখতে চাই, যাতে এটি পপ আপ না হয়।
উত্তর:
svn co svn + ssh: // ব্যবহারকারীর নাম: password@10.106.191.164/home/svn/shproject
আপনি এসএসএইচ ব্যবহার করছেন তা প্রদত্ত, পছন্দসই উপায় হ'ল অনুমোদনের জন্য সর্বজনীন কী ব্যবহার করা, যা কোনও পাসওয়ার্ডের প্রয়োজনীয়তা সম্পূর্ণরূপে সংরক্ষণ করে।
কীগুলি তৈরি এবং ইনস্টল করার জন্য একটি গাইড এখানে পাওয়া যাবে ।
একটি কিপায়ার তৈরি করা অসীমরূপে ভাল। আপনার স্থানীয় ব্যবহারকারী হিসাবে:
sh ssh-keygen -t rsa
(সমস্ত ডিফল্ট গ্রহণ করুন)
তারপরে .ssh / id_rsa.pub এর বিষয়বস্তু নিন এবং এটি দূরবর্তী সার্ভারে .ssh / অনুমোদিত_keys এ যুক্ত করুন খুব নিশ্চিত হন যে এটি সমস্ত একই লাইনে আটকানো হয়েছে। এছাড়াও .ssh ডিরেক্টরিটির অনুমতিগুলি 600 এর অনুমতি রয়েছে তা খুব নিশ্চিত হন।
তারপরে আপনার পাসওয়ার্ডের জন্য অনুরোধ না করেই ssh করতে সক্ষম হওয়া উচিত।
পাসওয়ার্ড ব্যবহার করার পরিবর্তে আপনি ব্যক্তিগত / পাবলিক কী জুটির দিকে নজর রাখতে চান এবং এটি ব্যবহার করে ssh করতে পারেন। বেশিরভাগ লিনাক্স বিতরণ এ জাতীয় জুড়ি তৈরি করতে সহজেই কমান্ড ব্যবহার করতে আসে use তবে এটি আপনার ব্যবহারকারীর ~ / .ssh / अधिकृत_keys ফাইলে সর্বজনীন কী ফাইল জমা করার জন্য সার্ভারের পাশ (একবার) অ্যাক্সেসের প্রয়োজন হবে।
আচ্ছা, আমি কি একটি পাসওয়ার্ড লিখুন চাই - আমি আমার পাসওয়ার্ড ওপর নির্ভর কোথাও সংরক্ষিত হচ্ছে পছন্দ না; যাইহোক, আমি এসভিএন + এসএসএস কমান্ডের সেট প্রতি একবার এটি প্রবেশ করতে চাই না ; এবং প্রায়শই, আপনি কেবল একটি করতে চান svn checkout
- এবং যাই হোক না কেন প্রচুর পাসওয়ার্ড লিখতে হবে। এটি এমন ক্ষেত্রে আমি একবারে একবারে পাসওয়ার্ড টাইপ করতে চাই।
সুতরাং, কেবলমাত্র @ বাইনস্ট এবং @ মারিয়াসের উত্তরগুলি আমার ব্যবহারের ক্ষেত্রে প্রাসঙ্গিক ছিল; দুর্ভাগ্যক্রমে, তারা সাহায্য করেনি, কারণ আমি তাদের কাজে লাগাতে পারিনি। আমি অবাক হয়েছি যে পোস্ট লেখকরা তাদের পোস্ট করার আগে কমান্ডগুলি চেষ্টা করে দেখতে পেরেছিলেন, এখন তারা যেমন কীভাবে কাজ করতে পারে তা আমি কল্পনাও করতে পারি না - এখানে আমার উবুন্টু 10.04 পিসিতে স্থানীয়ভাবে একটি পরীক্ষা করেছি (এবং আমি প্রতিটি সময় সিআরটিএল-সি দিয়ে ব্রেক করেছি) পাসওয়ার্ড প্রম্পট উপস্থিত):
$ svn --version | head -1
svn, version 1.6.6 (r40053)
$ cd /tmp
$ svnadmin create myrepo
$ read -p 'ssh myself@127.0.0.1? ' PASS
ssh myself@127.0.0.1? [type _PASSWORD_, press ENTER]
## trying first with https://superuser.com/a/71479/39752
# (specify in URL user:pass separated by colon)
## plain ssh - asks for password anyway:
$ ssh myself:$PASS@127.0.0.1
myself:_PASSWORD_@127.0.0.1's password: ^C
# svn - with just username, as expected:
$ svn co svn+ssh://myself@127.0.0.1/tmp/myrepo myrepo-wc
myself@127.0.0.1's password: ^C
svn: Network connection closed unexpectedly
# svn - with password added to URL, asks for password anyway:
$ svn co svn+ssh://myself:$PASS@127.0.0.1/tmp/myrepo myrepo-wc
myself:_PASSWORD_@127.0.0.1's password: ^C
svn: Network connection closed unexpectedly
# trying then with https://superuser.com/a/380426/39752, https://superuser.com/a/327822/39752
# (--non-interactive and --username/--password on command line)
# svn - asks for password anyway:
$ svn co svn+ssh://myself@127.0.0.1/tmp/myrepo --non-interactive --trust-server-cert --username myself --password $PASS --no-auth-cache
myself@127.0.0.1's password: ^C
svn: Network connection closed unexpectedly
যতদূর --username/--password
উপর svn
কমান্ড লাইন সংশ্লিষ্ট হয় - যে না সঙ্গে ব্যাপার svn+ssh
, কারণ এটি এর ssh
, জিজ্ঞাসা না svn
:
এসএনএন - "- পাসওয়ার্ড" এবং "- ব্যবহারকারীর নাম" বিকল্পগুলি উপেক্ষা করে সাবভারশন - স্ট্যাক ওভারফ্লো
আপনি যে প্রম্পটটি পাচ্ছেন তা সাবভারশন আপনাকে পাসওয়ার্ড চেয়ে জিজ্ঞাসা করছে না দেখে মনে হচ্ছে এটি পাসওয়ার্ড চেয়েছে বলে মনে হচ্ছে sh
অতিরিক্ত হিসাবে, লগটি যেমন দেখায়, ssh
নিজে username:password@...
ইউআরএলে " " স্বীকার করে না - এবং তাই করে না svn
। কেন কেবলমাত্র ইউআরএল-এ কেবলমাত্র ব্যবহারকারীর নামটি ব্যবহার করার জন্য গ্রহণযোগ্য svn
, সম্ভবত এতে ব্যাখ্যা করা হয়েছে ~/.subversion/config
:
### (যদি URL টিতে কোনও ব্যবহারকারীর নাম অন্তর্ভুক্ত থাকে, তবে হোস্টনামটি
### টানেল এজেন্টকে @ হিসাবে দেওয়া হবে))
লক্ষ্য করুন কিছুই সম্পর্কে বলা হয় না <user>:<pass>@<hostname>
।
এখন, দেবিয়ানের এসভিএন + এসএসএইচ ওভার পৃষ্ঠা সাবভার্সনকে ধন্যবাদ জানার পরে অবশেষে বুঝতে পেরেছি যে (এসেসেবল) এসএসএস টানেলের জন্য একটি SVN_SSH
পরিবেশের পরিবর্তনশীল ব্যবহৃত হয়েছে ~/.subversion/config
; এবং এটি পরিশেষে এমন একতরফা sshpass
পদ্ধতিতে পাসওয়ার্ড হ্যান্ডেল করতে প্রোগ্রামটি ব্যবহারের সম্ভাবনাটি উন্মুক্ত করে :
$ SSHPASS=$PASS SVN_SSH="sshpass -e ssh" svn co svn+ssh://myself@127.0.0.1/tmp/myrepo myrepo-wc
Checked out revision 0.
ভাল, অন্তত আমি আনন্দিত আমি অবশেষে এমন একটি সমাধান পেয়েছি যা আমার পক্ষে কাজ করে - আশা করি এটি অন্য
কাউকেও সহায়তা করে, চিয়ার্স!
আপনি প্রদত্ত সুইচ ব্যবহারকারীর নাম এবং পাসওয়ার্ডও ব্যবহার করতে পারেন ।
পড়ুন কমান্ড-লাইন প্রমাণীকরণ ।
আমি মনে করি sshpass (লিনাক্সে) ব্যবহার করা এটি পাওয়ার সেরা উপায়।
এসএসপাস ইনস্টল করুন
$ sudo apt-get install sshpass
অস্থায়ী পরিবেশের পরিবর্তনশীল সেট করুন
$ export SSHPASS=*yourpass*
এসএনএন কনফিগারেশন ফাইলটি সম্পাদনা করুন
$ nano ~/.subversion/config
কমান্ডের sshpass -e
আগে অবশেষে ssh লাইনে যুক্ত মন্তব্য করুনssh
ssh = $SVN_SSH sshpass -e ssh -q -o ControlMaster=no