লিনাক্সে শক্ত পাসওয়ার্ড কীভাবে তৈরি করবেন?


24

আমি অবাক হয়েছি কীভাবে আমি লিনাক্সে (সাধারণ এবং প্রশাসক উভয় ব্যবহারকারীদের জন্য) শক্তিশালী পাসওয়ার্ড তৈরি করতে পারি এবং যদি এর জন্য নির্দিষ্ট প্রোগ্রাম থাকে।

উত্তর:



16

ব্যক্তিগতভাবে, আমি পাসওয়ার্ড জেনারেটরটি ব্যবহার না করা পছন্দ করি কারণ উত্পন্ন পাসওয়ার্ডটি মনে রাখা খুব কঠিন তবে একটি পোর্টেবল সমাধান হ'ল / ডিভ / ইউরানডম ব্যবহার করা

কোনও বিশেষ অক্ষর নেই এমন এলোমেলো পাসওয়ার্ড তৈরি করা 10 অক্ষর দীর্ঘ:

$ cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 10` 
dyxJRKldvp

এটি / dev / urandom থেকে বাইটগুলি ধরে নিয়ে, trকমান্ডে বর্ণিত প্যাটার্নে ফিট না হওয়াগুলি মুছে ফেলা এবং এটির সাথে 10 টি অক্ষরে সীমাবদ্ধ করে কাজ করে head

বিশেষ অক্ষরযুক্ত এলোমেলো পাসওয়ার্ড তৈরি করা 10 অক্ষর দীর্ঘ:

$ cat /dev/urandom | tr -dc 'a-zA-Z0-9-_!@#$%^&*()_+{}|:<>?=' | fold -w 10 | grep -i '[!@#$%^&*()_+{}|:<>?=]' | head -n 1
MSF4wj@vP0

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


1
এছাড়াও আপনি ব্যবহার করতে পারেন [:print:]জন্য tr( tr -dc '[:print:]',) যদি আপনি একটি বিট ভীতু হয়। সমস্যাটি তখন আপনার কীবোর্ডে থাকা প্রতীকগুলি হবে ...
লার্জ মেজ

11

আমি এই ছোট স্ক্রিপ্টটি কয়েক বছর আগে লিখেছিলাম এবং তখন থেকে এটি ব্যবহার করে আসছি। তোমার কিছু হয়ে গেলে এটি একটি আকর্ষণীয় অপব্যবহার printfএবং BASH একটি সুদৃশ্য বৈশিষ্ট্য যে, আমি দুর্ভাগ্যবশত খুব কমই স্ক্রিপ্ট দেখতে ব্যবহার করে: typeset

#!/usr/bin/env bash
# Released into public domain
# Aaron Bockover, 2005
# http://abock.org

typeset -i length; length=$1
typeset -i rounds; rounds=$2
[ $rounds -lt 1 ] && rounds=1
[ $length -lt 1 ] && {
    echo "Usage: $0 <length> [<rounds>]" 2>/dev/null; exit 1;
}
for ((i=0; i < $rounds; i++)); do
    for ((j=0; j < $length; j++)); do
        set=$(($RANDOM % 20))
        if   [ $set -le 6 ];  then o=65; l=26; # 35% uppercase
        elif [ $set -le 13 ]; then o=97; l=26; # 35% lowercase
        elif [ $set -le 17 ]; then o=48; l=10; # 20% numeric
        elif [ $set -le 18 ]; then o=58; l=7;  # 10% symbolic
        elif [ $set -le 19 ]; then o=33; l=15; fi
        ord=$(($o + $RANDOM % $l))
        printf \\$(($ord / 64 * 100 + $ord % 64 / 8 * 10 + $ord % 8))
    done
    echo
done

হারুন স্ক্রিপ্টটির জন্য থ্যাঙ্কস !!!
গ্যাসুমা

4

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

কেপিএক্স পাসওয়ার্ড জেনারেটর ইন্টারফেসটি এমনভাবে দেখায়:

এখানে চিত্র বর্ণনা লিখুন


3

apg আপনি সহজে পাসওয়ার্ড মনে রাখতে পারেন এমন পাসওয়ার্ড চাইলে কোনও খারাপ পছন্দ নয়।

; apg -m 16 -a 0 -t
ByajNudgolIston9 (Byaj-Nud-gol-Ist-on-NINE)
Af}ockhuecUjrak8 (Af-RIGHT_BRACE-ock-huec-Uj-rak-EIGHT)
IakijKadmomIvgig (Iak-ij-Kad-mom-Iv-gig)
NutIlOsyahodBeef (Nut-Il-Os-ya-hod-Beef)
anMechOybekazell (an-Mech-Oyb-ek-az-ell)
VumushCummAd{fra (Vum-ush-Cumm-Ad-LEFT_BRACE-fra)

মনে রাখবেন যে, অনুযায়ী এই , আপনার পাসওয়ার্ড লম্বা অন্তত 12 অক্ষরের হতে হবে।


2

আমি একটি এলোমেলো ব্যবহার করি না, তবে সমস্ত আক্রমণের উদ্দেশ্যে ... মাস্টার পাসওয়ার্ড এবং অন্যান্য পাসওয়ার্ড তৈরির জন্য শেষ পাসটি যথেষ্ট enough আমি কীভাবে মাস্টার পাসওয়ার্ড তৈরি করি তা এখানে।

echo -n "some seed" |  openssl dgst -binary -sha1 | base64 | sed -e 's/.\{4\}/& /g'

এবং আউটপুট

H1sI Wpbj JE2P CdVJ A1qb 9B/e u7M= 

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


1

pwgen একটি দুর্দান্ত ছোট ক্লাইট সরঞ্জাম যা আসুন আপনাকে জটিলতা সেট করার জন্য কয়েকটি পরামিতি, উত্পন্ন করার জন্য পাসওয়ার্ডের অক্ষর শ্রেণীর সংখ্যা, দৈর্ঘ্য ইত্যাদি নির্দিষ্ট করে দেয় let's


1

এক্সকেসিডি-স্টাইলের পাসফ্রেস উত্পন্ন করার জন্য এখানে এক-অফ স্ক্রিপ্ট । /usr/share/dict/wordsএর জন্য একটি দুর্দান্ত অভিধান নয় কারণ বেশিরভাগ শব্দ দীর্ঘ হয় তবে এটি সহজেই পাওয়া যায়। উত্তম পাসফ্রেজের জন্য আপনি সংক্ষিপ্ত শব্দের একটি অভিধান যেমন এস / কী ওয়ান-টাইম পাসওয়ার্ড শব্দ তালিকার ব্যবহার করতে পারেন ।

dict="/usr/share/dict/words"
max="`wc -l <"$dict"`" \
    perl -e '$count=4;
        $/=\4; while (<>) {
            print unpack('L') % $ENV{max} + 1, qq(\n); last unless --$count
        }' /dev/urandom | 
    while read n ; do 
        tail -n "+$n" "$dict" | head -1
    done

0

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


0

আমি ভুল হলে আমাকে সংশোধন করুন, তবে: যতদূর আমি এটি বুঝতে পেরেছি, কোনও কম্পিউটার পুরোপুরি এলোমেলো স্ট্রিং সহ আসতে পারে এমন কোনও উপায় নেই । সুতরাং আমি নিম্নলিখিত ধারণাটি নিয়ে এসেছি [এবং আশা করি এটি সম্পূর্ণ নির্বোধ নয়):

যদি কেউ একটি 26-তরফা পাশা নিক্ষেপ করে, তবে নিক্ষেপ করার সুযোগটি বলুন, 26 বলতে হবে 1: 26। অন্য কথায়: 26 নিক্ষেপ করার সুযোগটি প্রায় 0.04%। তদ্ব্যতীত, একটি ডাইসের কোনও স্মৃতি নেই এবং কোনও বাগ নেই। আমি নিম্নলিখিত ধারণা নিয়ে এসেছি:

  • একটি 26 পার্শ্বযুক্ত ডাইস পান, যেখানে প্রতিটি পক্ষ বর্ণমালার একটি বর্ণের সাথে মেলে
  • দশ পার্শ্বযুক্ত ডাইস পান যেখানে প্রতিটি পক্ষই 0 এবং 9 এর মধ্যে একটি সংখ্যার সাথে মেলে
  • একটি মুদ্রা টুসকি
  • মাথা মানে: চিঠি পাশা নিক্ষেপ
  • লেজ মানে: নিক্ষেপ পাশা

কাগজ মডেলগুলি মুদ্রণের জন্য:

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

এছাড়াও : আমি ভাবছি যদি এটি ' আপনার প্রথম ব্রুট ফোর্স পাসওয়ার্ড ক্র্যাকার লিখুন ' এর জন্য নিখুঁত উদাহরণ নয় । তবে আপনার প্রশ্ন আমাকে আলোচনার জন্য এই ধারণাটি সামনে আনার উপযুক্ত কারণ দিয়েছে।


1
সম্পূর্ণরূপে এলোমেলো বিট উত্পন্ন করার কিছু উপায় রয়েছে। উদাহরণস্বরূপ, আপনার এইচডিডি থেকে তড়িৎচুম্বকীয় শব্দটি ব্যবহার করা বা আইও হারের প্রকরণের ব্যবহার ... 'সিউডোরেন্ডম জেনারেটর' নামক জেনারেটরের সাথে কী আশা করা যায় তা হল যে ক্রমটি তাদের আউটপুটটি চলেছে তা কোনও অ্যালগরিদম দ্বারা চলমান একটি সত্য র্যান্ডম ক্রম থেকে আলাদা করা যায় না is বহুপক্ষীয় সময়
দীর্ঘমেয়াদে

1
আপনি ডাইসওয়্যার সিস্টেমে আগ্রহী হতে পারেন। এটি একই ধরণের ধারণা অনুসরণ করে তবে কেবল ছয় পক্ষের পাশা ব্যবহার করে। world.std.com/~reinhold/diceware.html
Jander

0

শক্তিশালী পাসওয়ার্ড তৈরি করতে আমার .zshrc.local ফাইলটিতে আমার দুটি উপকরণ যুক্ত হয়েছে।

প্রথমটি হ'ল:

alias pw.graph="cat /dev/urandom | tr -dc '[:graph:]' | fold -w 1000 | perl -pe 's/(.)(?=.*?\1)//g' | head -n 5"

পিডব্লু.গ্রাফ টাইপ করার আউটপুট প্রতিটি অক্ষরের পাঁচটি লাইন যা স্পেস বার ব্যতীত একটি কীবোর্ডে টাইপ করা যায়:

/d=|&mRq!g$QaNZ'L;CfEli,D3\)*h-jkerzv?{y"_Ic(0BtxJwF59:@G}KV1X2o>S~[#]s+W%A.<6bpTO^uP7U4HMYn`8
RIdW87{a4O3][?&rTn=m/:Y`_u*hqy2c%s@!ZPM$5to1f-.U9ClK,)'jDi0"pw>EzN^|gX~BSAJk\VFG(H<bx}+Q6#vL;e
s^H@yEo/X$|d?_jw7-n'l>m"Cb\W5.tTe0APB1D!#69[p+(8x}F&~RM`q3Q%vhfOiUZz]ucJk:)*agGV;=NY4{,K2SLrI<
$/t|!s}og5u:X~hcJUyYHf>;l<zDedL`.T*K8]CBSW[(xw+Mm^E3r16b-97%'@jVR{ZG#0p4AP=,I?\n&"a)vqNkQ2iO_F
,7n|^Y\%MpeBqvhI3mE<9zPS/~+sU`4ZoCWl&uxd'ft"kjcOy0X!{a-T_6RKiVg5Hb21D)w>@*N8;A[(rLG=$Q:.#]FJ?}

দ্বিতীয়টি হ'ল:

alias pw.alnum="cat /dev/urandom | tr -dc '[:alnum:]' | fold -w 1000 | perl -pe 's/(.)(?=.*?\1)//g' | head -n 5"

Pw.alnum টাইপ করার আউটপুট হ'ল প্রতিটি মুদ্রণযোগ্য অক্ষর এবং সংখ্যা বড় এবং নিম্ন উভয় ক্ষেত্রে:

E6wgCfVBbXjyzYQ8USKl79LqPih0e5mvGrNHd3osaW2OxkJ1RM4nFTtcuZIpDA
GTvQON1dsZSpJmegBMK6bqnEciU7k0AoV2H4Wh53zr9YRfLlDxywXItu8CjPFa
6u1Db9MfyBApZdU7gqoV2PGwH5LcxWi3JNj8nkQCIThezSlYEXsOtrmF04KvaR
VFrsGwI9yAmabEnlRTKgZO23vUq4f6LHkzQP7tMjNW8ph1exuDoBCXSd50JciY
G3r6Em5tlfjQARJx9gWHes7bCVwkzcP48KaSIXyUFBMLqT0op1uDNdih2nYZOv

আমি সাধারণত পিডব্লু.গ্রাফ ব্যবহার করি এবং লাইনের একটি এলোমেলো অংশ অনুলিপি করি। কিছু পাসওয়ার্ড চিহ্নগুলির অনুমতি দেয় না তাই আমি তার জন্য pw.alnum এর একটি অংশ ব্যবহার করি।


0

আমি এইচটিএমএল ফাইল হিসাবে সংরক্ষণিত ব্যবহার করি:

<script>
var keylist="abcdefghijklmnopqrstuvwxyzABCEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*_"
var temp=''

function generatepass(plength){
temp=''
for (i=0;i<plength;i++)
temp+=keylist.charAt(Math.floor(Math.random()*keylist.length))
return temp
}

function populateform(enterlength){
document.pgenerate.output.value=generatepass(enterlength)
}
</script>

<form name="pgenerate">
<input type="text" size=32 name="output">
<input type="button" value="Generate Password" onClick="populateform(this.form.thelength.value)"><br />
<b>Password Length:</b> <input type="text" name="thelength" size=3 value="32">
</form>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.