PDA

View Full Version : how to make sshd start automatically at boot time?



lothario
08-17-2004, 01:31 AM
From reading the posts in this forum, it seems that
when you do a hard disk install Knoppix will ask you if you want to:

Start a Mail Server
Start sshd at boot?
Start Samba at boot
Start KDE at boot?


I did not see any of this.

Now that my hard disk install is done, how do I make sshd start automatically at boot time?

Thanks.

user unknown
08-17-2004, 02:05 AM
There is a file prepared for that:


/etc/init.d/ssh

Run it on boot isn't wise, because you may boot sometimes without networking.
There are several runlevels, by convention:

S SingleUser rescue mode (or Superuser?)
1 Single user without networking
2 Multi user wo. net
3 Multiuser + networking (here we need ssh)
4 ? reserved for special purpose
5 Multiuser + net + X11 (here too)
6 Reboot
...

For every level there is a rcX.d - directory, usually in /etc or in a subdir of /etc
(Replace the X with S, 1...6)
If you switch the runlevel, for the level you leave its kill-Scripts are called, and for the new, its Start-scripts are called.
Surprisingly, both scripts, the kill script and the start scripts are identical!
How's that?
Well - they are called with a parameter, which they evaluate.

fooManShoe -start
fooManShoe -stop

If you switch to runlevel 3 or 5, you need the start-script to be called, and if you leave them, the Kill-scripts should be called.
Therefore you create a symbolic link from the /etc/init.d/ssh to /etc/rc3.d/S44ssh and to rc5 accordingly.
The number - 44 in my example, decides the order in which the scripts are called. Lower numbers first.
I don't know if ssh needs a kill-script, if yes, you would use /etc/rc3.d/K44ssh too.

There is a graphical tool, which does this in a userfriendly way.
SysVinit or something similiar.

In either way, you have to be root to do this.

mzilikazi
08-17-2004, 11:28 AM
Well I run sshd on boot on all of my boxes.

update-rc.d ssh defaults
That ougtta do it.

user unknown
08-17-2004, 05:19 PM
ah, that looks much simpler :)

A. Jorge Garcia
08-18-2004, 12:56 AM
On my LAN in my classroom, I put


/etc/init.d/ssh -start

at the end of /etc/bootmisc.sh on all my PCs and all is well!

Good Luck,
AJG

lothario
08-18-2004, 04:48 AM
I did

update-rc.d ssh defaults

and that works.
Now sshd runs at boot every time.

Thanks to all of you.

mzilikazi
08-18-2004, 01:06 PM
Now to reverse your changes (or halt other startup scripts in /etc/init.d) do:


update-rc.d -f <service> remove

Example:


update-rc.d -f ssh remove

lothario
08-18-2004, 06:33 PM
ok, cool

so can I use

update-rc.d apache defaults

to start apache at boot?

and

update-rc.d mysql defaults

to start mysql at boot?

mzilikazi
08-18-2004, 09:14 PM
ok, cool

so can I use

update-rc.d apache defaults

to start apache at boot?

and

update-rc.d mysql defaults

to start mysql at boot?

Yep. Anything that lives in /etc/init.d can be set to run from any run level you like w/ update-rc.d.