"several hundred systems"?
Do you type in the password for each? If not, how do you avoid it?
This looks like a job for cron--instead of launching the process remotely, let cron run as root on each host and do the update in the wee hours.
BTW, you don't need sudo to run "yum check-update". It doesn't change the system, so any user can do it. The only downside is that the current-file data gets downloaded for both the user and later for root when the actual update is done, so it's a little less efficient.
ssh keys of course........and with the security changes to our systems.......all yum commands have to be run with sudo or as root. Very limited environment..........cron and at are not options. Heck, if my life was going to be that simple.........I'd just have scheduled check ins to the sattelite server......alas my constraints are what they are;-)
I'm using disown.......which "sooooortttttt" of works. If I kill the ssh session, it will keep the update going in the background.......however the script won't kick off the update, then continue to the next system. It still waits until the update process finishes before moving to the next host. Now, I ctrl-c..........it will disconnect from the current system, move to the next.....and the update will continue to run on the previous system......but I don't want to sit there and ctrl-c each connection......kind of defeats the purpose.