Stap 8:
Een van de dingen die de meeste mensen haat te doen is te typen in wachtwoorden. Niet alleen kon iemand over uw schouder kijken, maar ook het wachtwoord wordt verzonden waar het gemakkelijk kan worden gecontroleerd. Er moet een betere manier. Een methode die zeer veel gebruikt op ' nix systemen (met inbegrip van OS / X) heet de 'secure shell' (ssh voor korte). Je kunt eigenlijk gebruiken op Microsoft-systemen ook, maar het vereist meer dan de gebruikelijke extra setup.
$ ssh typo1
wachtwoord: _
Hoe dan ook, als u het opzetten van een nieuw systeem en of herstellende is van een harde schijf crash, opzetten van de ssh sleutels tot alle servers of systemen die u zich aanmeldt bij een heleboel plezier kunnen. Er moest een manier van het automatiseren van dit proces. Het proces is gewoonlijk slechts drie stappen. Uw sleutel naar de nieuwe server kopiëren, de sleutel toe te voegen aan de authorized_key bestanden, en dan tot slot het verwijderen van de gekopieerde sleutel als nodig. Dus laten we een batch-bestand om te zorgen voor dit.
Installkey.sh
[code]
# aanroepen met./Installkey.sh servernaam
# Kopieer de sleutel
SCP.ssh/id_dsa.pub $1: ~ /.
# installeren naar de toonsoort
SSH $1 ' kat id_dsa.pub >> .ssh/authorized_keys'
# Verwijder de openbare sleutel die u zojuist hebt gekopieerd
SSH $1 ' rm ~ / id_dsa.pub'
[/ code]
Een ASCII-bestand opslaan.
Inschakelen van de shell bestand
$ chmod + x Installkey.sh
Voer de code:
$./Installkey.sh typo1
Wel moet u zitten kundig voor inloggen op de server zonder een wachtwoord te typen.
$ ssh typo1
Linux typo1 2.6.32-5-686 #1 SMP zon 6 mei 04:01:19 UTC 2012 i686
De programma's opgenomen met de Debian GNU/Linux systeem zijn vrije software;
de exacte distributievoorwaarden voor elk programma zijn beschreven de
afzonderlijke bestanden in/usr/share/doc / * / copyright.
Debian GNU/Linux wordt geleverd met absoluut geen garantie, voor zover
toegestaan door toepasselijk recht.
Debian wordt geleverd met absoluut geen garantie, voor zover toegestaan door
toepasselijk recht.
/)
o /' )
/' ( ,.
__/' ) .' `;
o _.-~~~~' ``---.. __ .' ;
_.--' b) ``--...____.' .'
( _. )). `-._ <
`\|\|\|\|) -.....___.- `-. __...--'-.'.
`---......____...---`.___.' ----... .' `.;
`-` `
Deze machine is voor het exclusieve gebruik van OE.
Iedereen probeert te krijgen, of het verkrijgen van toegang tot andere
dan zo specifiek gemachtigd zal worden vervolgd
onder alle toepasselijke statuten plus alle van toepassing zijnde
regels van de burgerlijke schadevergoeding.
------------------------------------------------------------------------
U hebt post.
Laatste login: Sun Aug 19 05:15:37 2012 van oedt01
$ _
Maar dan ben ik denken, wat ik moet doen een heleboel servers, zelfs dat vervelend worden kan. Dus laten we wat meer code toevoegen. We moeten eerst een lijst van de servers die wij willen bijwerken en opslaan naar een bestand te maken.
servers:
[data]
typo1
oesrvr1
...
[/data]
Nu moeten we de oorspronkelijke code gebruiken en een routine om te lezen de servernamen uit een bestand toevoegen. Dat stelt ons in staat om enkel type in één opdracht en alle servers doen. Als we een nieuwe server toevoegen aan de lijst moeten, toevoegen u gewoon aan het bestand servers. Een beetje voorzichtigheid is dat als u het programma hebt uitgevoerd, u niet hoeft te doen opnieuw op bereid servers. Naam van het bestaande servers bestand en start van een nieuw bestand van de servers.
srvrsshupdate.sh:
[code]
####################################
# Update afstandsbediening ssh serversleutels
# door de systeembeheerder
# datum: 08/19/2012
#=================================
# Toewijzingen
# --------------------------------
# servers heeft een lijst van servers bijwerken (s/b 1 servernaam per regel)
servernamefile = "servers"
# einde toewijzingen
#=================================
#
# Gewoon doen. (hoofdlus)
#---------------------------------
terwijl lees lijn
doen server = $line
SCP.ssh/id_dsa.pub $server: ~ /.
SSH $server ' kat id_dsa.pub >> .ssh/authorized_keys'
SSH $server ' rm ~ / id_dsa.pub'
gedaan < $servernamefile
# einde van de hoofdlus
#==================================
# Einde van de baan
###################################
[/ code]
Alternatieve code:
[code]
# aanroepen met./Installkey.sh servernaam
# de .ssh directory instellen als het niet bestaat
DIRECTORY = ", ssh"
SSH $1 ' als [! -d "$DIRECTORY"]; vervolgens mkdir $DIRECTORY; chmod 700 $DIRECTORY; fi'
# Kopieer de sleutel
SCP $DIRECTORY/id_dsa.pub $1: ~ /.
# installeren naar de toonsoort
SSH $1 ' kat id_dsa.pub >> $DIRECTORY/authorized_keys'
SSH $1 'chmod 600 $DIRECTORY/authorized_keys'
# Verwijder de openbare sleutel die u zojuist hebt gekopieerd
SSH $1 ' rm ~ / id_dsa.pub'
[/ code]
Inschakelen
$ chmod + x srvrsshupdate.sh
Stormloop op
$ srvrsshupdate.shMy bureaublad stof beetje het ik decieded om te zetten van een nieuwe installatie van linux (Debian vervangen Ubuntu.) U moet echt geen oude ssh sleutels gebruikt, zodat ik een nieuwe sleutel gegenereerd en overgegaan tot het bijwerken van alle servers.