Well I've solved my DSL/Linux issue thanks to a very kind TCLUG member.  

I now have a Cisco 678 and Red Hat 7.3 up and running.  The 678 is doing NAT
and I'm trying to get sshd working on the RH box behind it.  I can SSH to
localhost, and my private IP on the LAN and it works fine, so I think SSH is
setup correctly.  I added a line to the NAT table on the modem for port 22,
pointing it to my local IP.  When I type show nat it looks like this:

Local IP : Port      Global IP : Port      Timer Flags    Proto Interface
10.0.0.3:22     209.98.143.114:22           0   0x00041  tcp   eth0 wan0-0

When I try to connect to my public address (or ip) it stalls.  I ran ssh -v
-v -v and it gets just as far if I try to connect to a box that doesn't
exist.  So I've narrowed it down to the modem (I think).  Are there any
tricks to get the 678 to correctly forward those requests?  How can I
troubleshoot this or test it?

Thanks,
Dan