Полагаю, это ожидаемый результат:
File.readlines('/tmp/blah.cfg').map do |line|
line.split(',', 2).map(&:strip)
end.to_h
#⇒ {"server1"=>"jim, 22", "server2"=>"bob, 44"}
Можно также разбить остаток на массив:
File.readlines('/tmp/blah.cfg').map do |line|
k, *v = line.split(',').map(&:strip)
[k, v]
end.to_h
#⇒ {"server1"=>["jim", "22"], "server2"=>["bob", "44"]}