Reviving a Quarter Century-Old Server

Eridanus21 pts0 comments

Reviving a Quarter Century-Old Server - Code7 Interactive

Reviving a Quarter Century-Old Server

I recently brought down one of my old servers from the attic, where it had been stored for almost two decades.

⚠️ Don’t worry … I am NOT exposing this machine directly to the Internet.

But, first things first…

This trip down memory lane is mostly for my own curiosity, and nostalgia.

The machine in question is a Dell OptiPlex NX1 300+ &ldquo;Net PC&rdquo;<br>which served as my web- and shell server for several years. Its hostname is dwarf, a nod to its compact size.

CPU Pentium® II Processor - 300 Mhz

GPU ATI Technologies Inc 3D Rage Pro AGP 1X/2X

HDD Seagate Medalist 6531 - Model ST36531A

Pentium® II Processor - 300 Mhz<br>LEVEL 2 Cache: Size Unknown<br>System Memory: 96 MB SDRAM<br>Video Memory: 4 MB SGRAM

How old is it actually?

There are a few markings on the chassis, such as ASSY 85179 22NOV97 85189 and P/N 82898 14NOV97,<br>making it roughly 28 years old as I write this.

Does it even boot?

Yes! Fortunately the power supply still worked.

The machine appeared to POST<br>(Power-On Self Test);<br>however, because its only video output is VGA<br>over D-SUB,<br>I first had to track down an appropriate cable before I could actually see what was happening.

♻️ As it turns out, I’ve been surprisingly good at getting rid of cables I no longer need.

I then thought; Maybe I could log into the machine directly using an ethernet cable,<br>or even via the local network.

So, did it show up on the network?

No! And I was pretty sure that the machine had a static IP set, and that it<br>wouldn&rsquo;t rely on DHCP<br>to assign its IP. The machine didn&rsquo;t show up on the network, at all.

Even with a direct Ethernet connection, I couldn’t reach it.

Local I/O to the rescue!

Pretty soon after that my friend Matti came over with a VGA cable, somewhat surprisingly labeled<br>as being an AWM E101344 STYLE 2919 80°C 30V SPACE SHUTTLE VW-1 LOW VOLTAGE COMPUTER CABLE

As seen above there are only 14 pins.

Monitor

My TV is showing its age in the best way possible—it has a VGA input. ✨ Thanks to that,<br>I could finally see the server’s first message in decades:

Alert! Cover was previously removed.

To continue press F1 key<br>To change setup option press F2 key

Not surprised about the alert though, since I’ve never actually had a cover for this machine.

Note: The reason for this alert was that the CMOS battery had gone flat,<br>wiping out the BIOS settings.

Keyboard

This surfaced the next problem: to get past the alert, I had to press a key on the keyboard.

(Plugging in a USB keyboard did nothing)

That meant another trip up to the attic to dig out one of those green PS/2-to-USB adapters<br>that had once been everywhere, and then suddenly vanished.

Battery

I popped in a fresh CR2032,<br>and now with both the keyboard and monitor connected, I was able to;

Set the BIOS clock

Disable the Chassis Intrusion alarm

Continue booting the machine

Welcome to Linux 2.6.8.1 (tty1)

At last—one step closer to bringing this old machine to life.

Did I remember the root password?

No! Since it had been quite a while since I last powered up the server,<br>I had no idea what root password I’d left on it.

Note: Resetting the password wasn’t much of an issue, since the drive wasn’t encrypted .

How to reset the root password?

You can replace the init process at boot—for example, with a shell of your choice—and you can<br>also request that the file system be mounted as read-write. Convenient!

So I typed 2.6.8.1 init=/bin/bash rw at the LILO<br>boot prompt, then ran passwd root.

Success! I was now able to log in as both root and my personal user zil .

Convincing modern SSH clients to talk to Dwarf

These days your SSH client will refuse to connect to a server with wildly<br>out of date algorithms for key exchange, authentication and encryption.

So you need to reconfigure your client to allow this.

In this specific case I added a Host section to my ~/.ssh/config with the following content;

Host dwarf<br>User zil<br>KexAlgorithms=+diffie-hellman-group-exchange-sha1<br>HostKeyAlgorithms=+ssh-rsa<br>PubkeyAcceptedAlgorithms=+ssh-rsa

This allows me to ssh dwarf from my other machines, without having to specify the username, or those old algorithms each time I&rsquo;m connecting.

tiny ~<br>$ ssh dwarf<br>@@@@@@@ @@@@@@@@ @@@@@@ @@@@@@@@<br>@@@@@@@@ @@@@@@@@ @@@@@@@ @@@@@@@@<br>!@@ @@! !@@ @@!<br>!@! !@! !@! !@!<br>!@! @!! !!@@!! @!!!:!<br>!!! !!! !!@!!! !!!!!:<br>:!! !!: !:! !!:<br>:!: :!: :!: !:! :!:<br>::: ::: :: ::: :::: :: :: ::::<br>:: :: : : : ::: :: : : : :: ::

+---------------------------------------------------+<br>| Welcome to dwarf, a small Dell NetPC |<br>|---------------------------------------------------|<br>| This machine is my local webserver |<br>+-------------------------+-------------------------+<br>| - 300 Mhz Deschutes | - No bots |<br>| - 96 Mb PC133 | - No leeching |<br>| - 6.5 Gb 5400rpm | - One screen |<br>| | - Be nice |<br>+-------------------------+-------------------------+<br>| Admin: ziL (#nudel @ chatsociety)...

machine server dwarf root rsquo first

Related Articles