Physically, yes, both the CPU and GPU will fit.
Performance-wise, there are several isssues:
1) CPU-Motherboard BIOS compatibility
If the MSI B150M does not come with an updated BIOS out-of-the-box, it will not let you boot up with that i5-7600K (a 7th-gen Kaby Lake CPU). The mobo, IF without a BIOS update, will only work with 6th-gen Skylake CPUs out-of-the-box. If the motherboard does have an updated BIOS, then, no problems. Only way to know is to check with the seller (if you're buying the mobo) if such mobo has an updated BIOS or not. If you already own the mobo, update the BIOS first with the 6th-gen CPU before you can use the 7th-gen.
Else to eliminate this possible issue and hassle, I would highly suggest for you to pair the 7th-gen CPUs with a 7th-gen mobo (such as the B250, H270, or Z270 chipset motherboards), instead of the 6th-gen mobos (B150, H110, H170, or Z170).
2) Overclockable CPU on non-OC'able motherboard
As you selected an i5-7600K (which is overclockable), you can't use that feature on a non-OC'able mobo such as the B150 you selected. You need a Z-chipset motherboard for this. As mentioned above, pair the 7th-gen CPU with a 7th-gen mobo. Since the i5-7600K is OC'able, it is logical to get a Z270-chipset motherboard for that purpose.
If you do not intend to overclock (ever), then get a non-OC'able (non-"K") CPU and pair that with the B or H chipset mobo.
In all of the above scenarios, the GTX 1060-6GB will fit.
I'd be more concerned with your GPU as to:
1) If it fits inside your chassis (depending on the length clearance)
2) If your PSU has enough wattage and PCIE power connectors for the GTX 1060's specific model requirements.