Linux સર્વર સાથે કનેક્ટ થવાનો મુખ્ય રસ્તો SSH પ્રોટોકોલ દ્વારા છે . આ પ્રકારનું કનેક્શન સુરક્ષિત છે, કારણ કે તેના દ્વારા ટ્રાન્સફર થતો તમામ ડેટા એન્ક્રિપ્ટેડ છે. SSH કનેક્શન સ્થાપિત કરવા માટે તમારે તેને તે રિમોટ સર્વર પર ગોઠવવું જોઈએ જેની સાથે તમે કનેક્ટ કરવા માંગો છો, અને વપરાશકર્તાની બાજુમાં ક્લાયંટ. SSH કનેક્શન માટે ઘણા બધા સોફ્ટવેર છે. Linux માટે, OpenSSH પેકેજ સૌથી લોકપ્રિય છે અને Windows માટે લોકો મોટે ભાગે PuTTY નો ઉપયોગ કરી રહ્યા છે.
ચાલો ઉદાહરણ તરીકે ઉબુન્ટુ સર્વર 18.04 નો ઉપયોગ કરીને સર્વર ગોઠવણી પર નજીકથી નજર કરીએ, અને પછી Linux અને Windows માંથી સર્વર સાથે કનેક્ટ કરવાનો પ્રયાસ કરીએ.
આપણે જે કંઈ કરીશું તે એક સામાન્ય વપરાશકર્તાના ખાતામાંથી જ કરીશું. આ કિસ્સામાં, આપણે એક વપરાશકર્તા " mihail " બનાવ્યો છે, અને " root " ખાતું ડિફોલ્ટ રૂપે અક્ષમ છે.
સર્વર સાઇડ સેટઅપ
આ આદેશ ચલાવીને પેકેજ સેટ કરો:
sudo apt install openssh-server
ઇન્સ્ટોલેશન પૂર્ણ થયા પછી, ખાતરી કરો કે સેવા ચાલી રહી છે. આ આદેશનો ઉપયોગ કરો:
systemctl status sshd
સ્થિતિ " સક્રિય (ચાલુ) " એટલે કે સેવા સક્ષમ છે અને સામાન્ય રીતે કાર્યરત છે.
ફાયરવોલ દ્વારા આવતા કનેક્શન્સને અવરોધિત કરવાનું ટાળવા માટે, તેને અક્ષમ કરવાની ખાતરી કરો, કારણ કે આ લેખમાં આપણે નેટવર્ક ફાયરવોલને ગોઠવવાના નથી.
આ આદેશનો ઉપયોગ કરો:
sudo ufw disable
આ તબક્કે તમે પહેલાથી જ સર્વર સાથે કનેક્ટ થઈ શકો છો. ડિફોલ્ટ સેટિંગ્સ સાથે સર્વર પાસવર્ડ-આધારિત પ્રમાણીકરણ સાથે માનક પોર્ટ 22 સાથે કનેક્શનની મંજૂરી આપે છે.
Linux માંથી SSH કનેક્શન
નિયમ પ્રમાણે, OpenSSH ક્લાયંટ ડિફોલ્ટ રૂપે Linux પર ઇન્સ્ટોલ કરેલું હોય છે અને તેને વધારાના મેન્યુઅલ ગોઠવણીની જરૂર હોતી નથી. ssh આદેશની મદદથી ટર્મિનલથી કનેક્શન સ્થાપિત કરી શકાય છે. આ કિસ્સામાં પરિમાણો રિમોટ સર્વરનું વપરાશકર્તા નામ અને IP સરનામું હશે. અમારા પરીક્ષણ સર્વર પર જેનો આપણે ઉદાહરણ તરીકે ઉપયોગ કરી રહ્યા છીએ ત્યાં ફક્ત એક જ એકાઉન્ટ "mihail" છે, તેથી આપણે આનો ઉપયોગ કરીશું.
ssh [email protected]
પહેલા કનેક્શન પર તમારે ડેટાબેઝમાં સર્વરની પબ્લિક કી ઉમેરવાની પુષ્ટિ કરવી પડશે, તેથી " હા " નો જવાબ આપો. તે પછી તમે પાસવર્ડ દાખલ કરી શકો છો. જો કનેક્શન સફળતાપૂર્વક થઈ જાય, તો તમને સર્વરની કમાન્ડ લાઇનનો સ્વાગત ટેક્સ્ટ દેખાશે. હવે બધા આદેશો સીધા રિમોટ સર્વર પર જ એક્ઝિક્યુટ થશે.
વિન્ડોઝથી SSH
પુટ્ટી ખોલો અને કનેક્શન પેરામીટર્સ સેટ કરો. ખાતરી કરો કે " કનેક્શન પ્રકાર " સ્વીચ SSH માં ફેરવાયેલ છે . " હોસ્ટ નેમ " ફીલ્ડમાં IP સરનામું દાખલ કરો , ડિફોલ્ટ મૂલ્ય 22 " પોર્ટ " માં દાખલ કરો અને " ઓપન " પર ક્લિક કરો.
પહેલા કનેક્શન પર પુટ્ટી તમને પુષ્ટિ કરવા માટે કહેશે કે તમે આ સર્વર પર વિશ્વાસ કરો છો, તેથી " હા " પર ક્લિક કરો.
લોગિન અને પાસવર્ડ દાખલ કર્યા પછી, તમને રિમોટ સર્વરની કમાન્ડ લાઇન દેખાશે.
કી દ્વારા પ્રમાણીકરણ. સુરક્ષાનું સ્તર વધારવું
જ્યારે કોઈ ક્લાયંટ SSH દ્વારા સર્વર સાથે સુરક્ષિત કનેક્શન સ્થાપિત કરવાનો પ્રયાસ કરી રહ્યો હોય, ત્યારે કનેક્શનને મંજૂરી આપતા પહેલા સર્વરે ક્લાયંટને પ્રમાણિત (ચકાસણી) કરવાની જરૂર પડે છે. જેમ પહેલા ઉલ્લેખ કર્યો છે, પાસવર્ડ-આધારિત પ્રમાણીકરણનો ઉપયોગ સામાન્ય રીતે ડિફોલ્ટ રૂપે થાય છે. તે મજબૂત સુરક્ષા પ્રદાન કરતું નથી, કારણ કે તેને બ્રુટફોર્સ કરવાની હંમેશા એક રીત હોય છે. ઉપરાંત, સ્ક્રિપ્ટ્સના ઉપયોગ સાથે SSH કનેક્શન્સ પર પાસવર્ડ પ્રમાણીકરણ લાગુ પડતું નથી.
આ પ્રકારના કાર્યો માટે કી દ્વારા એક ખાસ પ્રમાણીકરણ પદ્ધતિ છે. મુદ્દો એ છે કે ક્લાયંટ ખાનગી અને જાહેર કી જનરેટ કરે છે અને પછી જાહેર કી સર્વર પર મોકલવામાં આવે છે. તે પછી સર્વર સાથે કનેક્ટ થવા માટે તમારે પાસવર્ડની જરૂર નથી, કારણ કે પ્રમાણીકરણ જાહેર અને ખાનગી ક્લાયંટ કીના આધારે હાથ ધરવામાં આવે છે. સારી સ્તરની સુરક્ષા પ્રદાન કરવા માટે, ખાનગી કીની ઍક્સેસ પ્રતિબંધિત હોવી જોઈએ. ખાનગી કી ક્લાયંટની બાજુમાં સંગ્રહિત થાય છે અને નેટવર્ક દ્વારા ટ્રાન્સફર થતી નથી તે હકીકતને કારણે, આ પદ્ધતિ વધુ સુરક્ષિત માનવામાં આવે છે.
Linux પર કી દ્વારા પ્રમાણીકરણ
ચાલો ssh-keygen યુટિલિટી સોફ્ટવેરની મદદથી ક્લાયંટ પર પબ્લિક અને પ્રાઇવેટ કી જનરેટ કરીએ. આ ટૂલ પ્રાઇવેટ કીનો પાથ બદલવાનું સૂચન કરશે અને વધારાની સુરક્ષા માટે પાસફ્રેઝ દાખલ કરશે. બધી વિનંતીઓ પર Enter દબાવીને બધા પરિમાણોને ડિફોલ્ટ રૂપે છોડી દો.
પરિણામે, .ssh ફોલ્ડરમાં હોમ ડિરેક્ટરીમાં તમને બે ફાઇલો જનરેટ થશે: id_rsa અને id_rsa.pub જેમાં ખાનગી અને જાહેર કી હોય છે.
તે પછી, તમારે સર્વર પર પબ્લિક કી મોકલવાની જરૂર પડશે. તે કરવા માટે, “ id_rsa.pub ” ફાઇલની સામગ્રીને સર્વર પર “ ~/.ssh/authorized_keys ” ફાઇલમાં કોપી કરો. ચાલો “ ssh-copy-id ” ટૂલની મદદથી સૌથી સરળ રસ્તો અપનાવીએ . સામાન્ય કનેક્શનની જેમ સર્વરનું લોગિન અને IP સરનામું દાખલ કરો. પાસવર્ડ દાખલ કર્યા પછી, ક્લાયંટની પબ્લિક કી આપમેળે સર્વર પર કોપી થઈ જશે. આ આદેશ ચલાવો:
ssh-copy-id [email protected]
આ બધું કર્યા પછી, સર્વરને હવે પાસવર્ડ દાખલ કરવાની જરૂર રહેશે નહીં.
વિન્ડોઝ પર કી દ્વારા પ્રમાણીકરણ
PUTTYGEN ખોલો અને " જનરેટ કરો " પર ક્લિક કરો. કી જનરેટ કરવા માટે, તમારે ફક્ત તમારા માઉસને સ્ક્રીન પર ખસેડવાની જરૂર છે અને ટૂલ રેન્ડમલી કી જનરેટ કરશે.
કી જનરેટ થયા પછી, " સેવ પ્રાઇવેટ કી " પર ક્લિક કરો અને તેને તમારી ડિસ્ક પર પ્રાઇવેટ કી સાથે ફાઇલમાં સેવ કરો. તમે ગમે તે પાથ સેટ કરી શકો છો, પરંતુ થોડી વાર પછી તમારે તેને પુટ્ટીમાં સ્પષ્ટ કરવાની જરૂર પડશે. પછી વિન્ડોની ટોચ પરથી પબ્લિક કીની નકલ કરો.
ચાલો પબ્લિક કીને ફક્ત ટર્મિનલ પર કોપી કરીને મોકલીએ. પુટ્ટી ખોલો અને હંમેશની જેમ સર્વર સાથે કનેક્ટ કરો. હવે ચાલો “ .ssh/authorized_keys ” બનાવીએ અને અન્ય વપરાશકર્તાઓને ફાઇલ ઍક્સેસ કરવાથી પ્રતિબંધિત કરીએ, જેથી તે ફક્ત સર્જક માટે જ ઉપલબ્ધ રહે.
mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
ફાઇલ બનાવ્યા પછી, તેમાં ક્લાયન્ટની પબ્લિક કી નાખો. પહેલાના તબક્કે આપણે પબ્લિક કી ક્લિપબોર્ડ પર કોપી કરી હતી. ક્લિપબોર્ડમાં શું છે તે ફાઇલમાં રેકોર્ડ કરવા માટે cat કમાન્ડ અને આઉટપુટ રીડાયરેક્શનનો ઉપયોગ કરો.
cat > .ssh/authorized_keys
આદેશ દાખલ કર્યા પછી, ટર્મિનલ વિન્ડોમાં જમણું માઉસ બટન ક્લિક કરો અને ક્લિપબોર્ડમાં શું છે તે પેસ્ટ કરો. ઇનપુટની પુષ્ટિ કરવા માટે, “ Ctrl+D ” શોર્ટકટ દબાવો અને સર્વરથી ડિસ્કનેક્ટ કરો.
હવે ચાલો પુટ્ટીમાં ખાનગી કીનો માર્ગ સ્પષ્ટ કરીએ અને ફરીથી સર્વર સાથે કનેક્ટ કરીએ.
હવેથી, સર્વર સાથે કનેક્ટ થવા માટે તમારે ફક્ત વપરાશકર્તા નામ દાખલ કરવાની જરૂર પડશે. જો તમે બીજા ઉપકરણથી સર્વર સાથે કનેક્ટ કરવાનો પ્રયાસ કરી રહ્યા છો જેની પાસે યોગ્ય ખાનગી કી નથી, તો સર્વર પાસવર્ડની વિનંતી કરશે. કી-આધારિત પ્રમાણીકરણ સેટ થઈ ગયા પછી, તમે પાસવર્ડ દ્વારા ઍક્સેસને નામંજૂર કરી શકો છો.