Magellan Linux

Annotation of /alx-src/branches/alxconf-060/functions/config_ssh_auth.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3486 - (hide annotations) (download) (as text)
Mon Apr 16 08:47:18 2012 UTC (12 years, 1 month ago) by niro
File MIME type: application/x-sh
File size: 1423 byte(s)
-fixed spelling
1 niro 1973 # $Id$
2 niro 253 # exchanges the public server and client ssh keys
3    
4 niro 342 gen_keys()
5     {
6 niro 1973 if [ ! -e /etc/dropbear/dropbear_dss_host_key ]
7 niro 253 then
8 niro 3484 rc_print "Generating DSS-Hostkey ..."
9 niro 1973 dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key
10 niro 253 fi
11    
12 niro 1973 if [ ! -e /etc/dropbear/dropbear_rsa_host_key ]
13 niro 253 then
14 niro 3484 rc_print "Generating RSA-Hostkey ..."
15 niro 1973 dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
16 niro 253 fi
17     }
18    
19 niro 342 config_ssh_auth()
20     {
21 niro 3485 local pub_key_server
22     local id
23 niro 1973 local pubkey
24 niro 2036 local CONFIG
25 niro 254
26 niro 3486 # generate eventually missing keys
27 niro 253 gen_keys
28    
29 niro 1973 # read the pubkey (the sed prints only the second line, which is the pubkey)
30     pubkey="$(dropbearkey -y -f /etc/dropbear/dropbear_rsa_host_key | sed -n '2p')"
31    
32 niro 253 # write the public key of the server to the host system
33 niro 3485 pub_key_server="$(mysqldo "select public_key from ssh_auth_server where id=1;")"
34 niro 253
35 niro 3485 if [[ ! -z ${pub_key_server} ]]
36 niro 253 then
37 niro 2162 HOME="/root"
38 niro 253 # only if not empty
39     [ ! -d $HOME/.ssh ] && install -d $HOME/.ssh
40 niro 2162 CONFIG="$HOME/.ssh/authorized_keys"
41 niro 2036 clearconfig
42 niro 3485 addconfig "${pub_key_server}"
43 niro 253 fi
44    
45     # put the public key of the host into the db
46 niro 3485 id=$(mysqldo "select serial from ssh_auth_clients where serial=${ALX_SERIAL};")
47 niro 253
48 niro 3485 if [[ ! -z ${id} ]]
49 niro 253 then
50 niro 342 # run an update
51 niro 1973 mysqldo "update ssh_auth_clients set public_key='${pubkey}' where serial=${ALX_SERIAL};"
52 niro 253 else
53 niro 342 # run an insert
54 niro 1973 mysqldo "insert into ssh_auth_clients(serial,public_key) values('${ALX_SERIAL}','${pubkey}')"
55 niro 253 fi
56     }