Koehler surrendered three home runs in his previous start Sunday against the Washington Nationals. He was clean Friday until designated hitter K.J. Woods' two-run blast in the fourth. Woods singled to right field to knock in another run with two outs in the fifth, leaving Koehler charged with three runs.
"He got up in the zone a little bit," Marlins manager Mike Redmond said. "That's something he has been fighting. He got through it."
Koehler said he wanted to have a steady outing before the regular season begins Monday.
"Just have a good feel and make sure all the pitches are working," he said. "Hopefully Monday we hit the ground running and don't stop until November."
Woods, a 19-year-old selected in the fourth round of the 2013 First-Year Player Draft, had another two-run homer in the ninth.
Giancarlo Stanton homered to right-center field on the first pitch from Ramos, who was working as the Greensboro starter so he could get one inning of work. He gave up two more runs to the next three batters, capped by Marcell Ozuna's RBI single.
Stanton, who belted 39 home runs for Greensboro in 2008, said his latest blast -- coming on a Ramos fastball -- in this ballpark came on a normal swing. "I'm ready to go," Stanton said of the season. "It wouldn't matter either way [if I hit a homer today], but it does help."
Marlins catcher Jarrod Saltalamacchia homered to lead off the second inning off reliever Mike Dunn, who was next in line among five Miami pitchers coming out of the Greensboro bullpen.
Redmond said it was good for the Marlins to see big league pitchers in this setting, even though they were teammates.
"We had a bunch of guys that were due to throw," he said. "I thought we'd get way more out of it [this way]. That worked out well. I thought it was a productive day."
Christian Yelich rapped a run-scoring double in the fourth off Marlins pitcher Bryan Morris, who also yielded an RBI single to Michael Morse.
The last few innings involved mostly Minor Leaguers playing on both sides.
This was the third time the Marlins visited Greensboro for an exhibition game, the most recent trip here in 2010.
The Marlins head to Jacksonville, Fla., for Saturday's exhibition against their Double-A affiliate.