freebsd-update, security/openssh-portable port, base sshd not working

I was recently trying to upgrade a server from 7.0 to 8.2p3. In preparation for doing this, I was portupgrading everything that was out of date. During the port upgrades, I lost my internet connection and had to re-connect. Unfortunately, sshd was no longer responding. It turns out that I had security/openssh-portable installed and was getting this error after it had been upgraded:

Code:
/libexec/ld-elf.so.1: Undefined symbol "gss_nt_service_name" referenced from COPY relocation in /usr/sbin/sshd

I tried various upgrades to krb5, reinstalling openssh-portable, changing configuration files, but could not get sshd back up and running. So, I decided to delete the port (I wanted the base ssh after upgrade), and I figured that the freebsd-update process would reinstall sshd as part of the upgrade.

Unfortunately it did not.

So my questions are: 1) does anyone have a clue why I ran into the initial problem, 2) why freebsd-update did not reinstall ssh and sshd, and 3) is there a better procedure than make buildworld to get base freebsd FreeBSD ssh and sshd installed?

Thanks!

--M
 
Martillo1 said:
Have you commented out the openssh_enable="YES" and defaulted to sshd_enable="YES" in /etc/rc.conf?

Yes, but the real problem is that /usr/bin/ssh and /usr/sbin/sshd were not re-created by the freebsd-update process, so there's nothing to start:

Code:
/etc/rc.d/sshd: WARNING: run_rc_command: cannot run /usr/sbin/sshd


--M
 
Did you install the security/openssh-portable port with the OVERWRITE_BASE option enabled? Meaning, did you install the port into /usr/, thus overwriting/deleting the base version?

If so, about the only way to get it back is to rebuild/install the world from source.
 
mlineen said:
I was recently trying to upgrade a server from 7.0 to 8.2p3. In preparation for doing this, I was portupgrading everything that was out of date.
I would suggest updating your ports after the upgrade to 8.2. You're going to have to rebuild/reinstall all your ports after upgrading a major version anyway.
 
phoenix said:
Did you install the security/openssh-portable port with the OVERWRITE_BASE option enabled? Meaning, did you install the port into /usr/, thus overwriting/deleting the base version?

If so, about the only way to get it back is to rebuild/install the world from source.

The make buildworld, make buildkernel, make installkernel, make installworld process fixed this issue, but it doesn't make sense to me that the binary update procedure wouldn't do the right thing by placing the correct (updated) version of ssh and sshd on disk. Unfortunately, I don't know offhand when I installed openssh-portable with or without the OVERWRITE_BASE option, but prior to the freebsd-update I had pkg_deleted it anyways, so it shouldn't have been affecting the update in my opinion.
 
SirDice said:
I would suggest updating your ports after the upgrade to 8.2. You're going to have to rebuild/reinstall all your ports after upgrading a major version anyway.

This doesn't seem relevant.

If you read the top of Freebsd FreeBSD Manual Section 25.2.3 it says that "most users will want to run a test build using the following command: portupgrade -af". That's what I was doing, and after losing a network connection and trying to reconnect is when I had the error with sshd not being able to start. This was before freebsd-update even ran.

After I was able to successfully upgrade to 8.2, I re-installed all the ports again.

--M
 
Back
Top