Something like (untested code below):

        boolean isSshable = Repeater.create()
		        .repeat()
		        .until(new Callable<Boolean>() {
		        	public Boolean call() {
		                return getLocation().isSshable();
		        	}})
		    	.limitTimeTo(5, TimeUnit.MINUTES)
		    	.run();