What pins to use for I2C bus with AVR Mega2560

I'm just trying to do this now, using a Mega2560+RAMPS that has a 4-pin I2C connector on one end as master and a second bare Mega 2560 as slave. I have 3 pins connected. SDA to SDA, SCL to SCL, and GND to one of the GND pins on the slave. I've set up a sketch on each one. From the master I'm using the serial console to send bytes over I2C to the slave. The slave is supposed to echo the bytes received. If a request is sent to the slave, it's supposed to reply with "Hello world!\n".

So far, no go.

Are the 4 pins on a RAMPS just passthroughs for pins 20/21 or could they be other pins? Do I need to connect the 5V pin between the two Arduinos? (They're both being USB-powered at the moment.)

The SCL and SDA pins are being correctly defined in fastio.h for the board(s).

I've used Wire.begin(2) on the slave, and Wire.begin() on the master.

Does the slave needs to be interrupted in order to call these handlers, or does Wire library just poll the pins? If the former, is it possible that other interrupt settings could interfere with the i2c bus?

Much to learn about this topic!