OpenSSH won’t start

I ran into an issue with OpenSSH Server would not start after fresh installation of it on a minimal CentOS 5 x86_64 VPS:

[root@vps ~]# /etc/init.d/sshd restart
Stopping sshd:                                             [FAILED]
Generating SSH1 RSA host key:                              [FAILED]

I delved a little further and discovered that ssh-keygen was failing:

[root@vps ~]# ssh-keygen 
cannot read from /dev/urandom, No such file or directory

And finally, from there, I generated the urandom file:

/sbin/MAKEDEV urandom

Also, to ensure on restarts the urandom file (as well as pty and tty) are created, I added the following to /etc/rc.d/rc.local:

/sbin/MAKEDEV pty
/sbin/MAKEDEV tty
/sbin/MAKEDEV urandom

Hopefully this helps if you run into a similar issue down the line!

Allocate x IPs to OpenVZ VEs

I ran into an interesting issue today where we had a client migrating to us that needed us to allocated X IPs to each VPS on a node he had with us. X ranged from 1 IP to up to 12 per VE so I wrote a script that took three input files (one with available IPs [newips], one with VEIDs [veids], and one with the number of IPs each VEID was allocated [numips]) and doled out the IPs as needed. Here is the result:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/bash
 
let r=1
let k=1
 
for i in `cat veids`
do
    numips=$(sed -n "$k"p numips)
        for (( c=1; c<=$numips; c++ ))
          do
                ip=$(sed -n "$r"p newips)
                echo "Add $ip to $i"
                vzctl set $i --ipadd $ip --save
                let r=r+1
        done
    let k=k+1
done

Hopefully this will help any others who run into a similar issue.

Have a great day!