At least I found an answer to my second question.
Running
# poweroff -f
works just fine even though it will complain about unmounting a CD that doesn't exist.
Hi!
Is there an easy way to configure/modify the knoppix-terminal server files in order to let the clients booting from it have the sshd started automatically?
I would like to use this system for remote administration (and distributing image files with nfs and partition image). Clients will get started up with a wake-on-LAN signal which makes them try network boot first.
When booting the knoppix system remotely the sshd needs to be started so that I can reach them afterwards. Telnet would also be OK...
And... shutting down a network-booted knoppix system will still lead to a "remove-CD" request. Can I get rid of this so the system will shut down immediately?
Regards,
Marcus Lantto,
Stockholm, SE
At least I found an answer to my second question.
Running
# poweroff -f
works just fine even though it will complain about unmounting a CD that doesn't exist.
OK... I've worked this out on my own now. I wanted to share the experience with the rest of you if there's someone who have a similar problem:
After starting the terminal server, some changes have to be applied to the file
linuxrc
which is included in the image
miniroot.gz
And a script file called
pass
has to be created.
Instructions (tested on Knoppix 3.2 but may work on earlier or later versions too):
1. Start the terminal server with settings that are the most suitable for your network/system(s).
2. Open a shell and write
# su root (This isn't nessecary if you're already root!!)
# cd /tftpboot
# cp miniroot.gz miniroot.backup
# gzip -d miniroot.gz
# mkdir mr
# mount -o loop miniroot mr
# cd mr
3. Now we can change the startup script:
# emacs linuxrc
In my file, I've inserted two lines at about line 429. It shouldn't be too critical where they are. However, it works if the two lines are inserted just before these lines:
--------------------
if [ -n "$SECURE" -a -f /etc/inittab.secure ]; then
rm -f /etc/inittab
mv -f /etc/inittab.secure /etc/inittab
fi
# Extremely important, init crashes on shutdown if this is only a link
--------------------
The lines that should be inserted look like this:
/pass
/etc/init.d/ssh start
This will run the password change script and start the ssh daemon.
4. The password change script
The file "pass" doesn't exist so we have to create it. This will perform a password change for root automatically, i.e. the interactive part is thrown away.
# emacs pass
The file should look like this:
--------------------------
#!/usr/bin/expect
set password secret
spawn passwd root
expect {
-re "password:" {sleep 1; send "$password\r"; exp_continue}
-re "password:" {sleep 1; send "$password\r";}
}
---------------------------
The password for root will be set to "secret". You are strongly encouraged to use one of your own, especially if you are on a public network!!!
When finished editing the file, set the mode so it will become executable:
# chmod 755 pass
5. Done!! We just have to fix a compressed image file again:
# cd ..
# umount mr
# gzip -c miniroot > miniroot.gz
Answer yes if you get any questions about overwriting miniroot.gz
6. Try it out!!
Marcus Lantto,
Stockholm, SE
References:
http://www.dit.gov.bt/~takeshi/mater...utopasswd.html
(The password change script.)
If you have many different computers that are to be started on the network and then maybe removed again, there could be problems with insufficient address space, especially on the 192.168.0.0/24 network.
This is because of the lease time on IP-addresses. If this shows to be a problem, you could try to clear the dhcp leases file (when there are no clients on the network!!).
# rm /var/lib/dhcp3/dhcpd.leases
This will hopefully reset the address space and make all the addresses available again.
When contacting a client on the network through ssh and you don't know the IP-address:
# ping 192.168.0.255
This is the net broadcast address for 192.168.0.0/24 and should be replaced with the broadcast address for your network.
Interrupt with CTRL+C and have a look at the arp table:
# arp
or, if you know the MAC address of the client, here's an example:
# arp | grep 10:09:6B:2D:76:36
(Make sure you use CAPITAL letters in the MAC-address.)
This should produce a line where the IP can be read in the first column.
I like it only 3 posts and you answered your own questions and put up a how-to.
[edit]
And there's a fourth while I'm posting great job Marcus!!
[/edit]
Indeed, nice job Marcus. Now if someone can just figure out how to get clients to boot from the knoppix terminal server on a hard drive install.
I've actually been trying to figure if there is a way to get sshd running while booting from a stock knoppix cd without remastering so as to easily start up a headless server. I got it down this weekend and will be posting a howto shortly.
Again good job.
Adam
For Lenovo ideapad 5 15IIL05 15ARE05 15ITL05 15ALC05 Lcd Back Cover Rear Lid NEW
$49.98
NEW Palmrest Keyboard For Lenovo Thinkpad E15 Gen 2 20T8 20T9 Black 5M10W64513
$80.99
For Lenovo ideapad Flex 5 15IIL05 15ITL05 LCD Touch Screen Bezel 5D10S39643 New
$138.95
Lenovo 500w Gen 3 Laptop, 11.6" IPS Glass, N6000, 8GB, 128GB SSD, Win 11 Home
$186.99
Lenovo Ideapad 1i 15.6" FHD Notebook Intel Core i5-1235U 8GB RAM 256GB SSD
$339.99
Lenovo IP 5 16IAU7 16" 2.5K Chromebook i3-1215U 8GB Ram 128GB eMMC Chrome OS
$199.99
Lenovo ThinkPad Yoga 11e 11.6" 2in1 Touch Intel Core i3 4GB RAM 128GB SSD Win10
$60.00
Lenovo ThinkPad X390 13" Touchscreen Laptop i5 256GB NVMe 16GB RAM Win 11 Pro
$249.00
~10th Gen~ 14" Lenovo i7 Quad Core Laptop: 16GB RAM 512GB SSD Windows 11 Pro
$359.99
Lenovo IdeaPad Flex 5 Chrome 14IAU7 i3-1215U 8GB 256GB SSD Chrome OS
$199.99