i have the same problem
however the only 2 solutions is to detect the missile collision with the ship and call the function Physics2D.IgnoreCollision
where the collision-ed object collider should be col.collider in the function OnCollisionEnter2D
this way will work like a magic but the most annoying thing is, it seemed to collide anyway in the first frame when the missile instantiated, unfortunately
another way is by using layers where you can use the function Physics2D.IgnoreLayerCollision
this will work pretty easy but you need to make Missile Layers and The ship Layer seperately in the scene
for example we have Missiles in the Layer 6 and the Player in the Layers 7
Physics.IgnoreLayerCollision(6,7)
will work perfectly for you
here is my Code in enemy gameObject (it will work wherever you put the code in your scene)
Code (CSharp):
void Awake()
{
Physics2D.IgnoreLayerCollision(8,9);
}