I may have misunderstood you so please disregard if this is the case....
You have two boxes, one running Windows and the other running linux?
In order to ping or ssh by hostname from the Windows box, you will need to place the line <IP ADDR> mylinux in the Windows host file as this is what is being checked by the client. The client is responsible for translating hostnames into IP addresses either through hostfiles, DNS, NETBIOS etc... The Windows hostfile is located in C:\WINDOWS\system32\drivers\etc.
As regards your hostfile on your linux box, you should remove the name "mylinux" from the localhost line as this will cause confusion for the box when trying to detect its own ip. For instance, if you ping mylinux on mylinux then the localhost ipaddress will be returned and not the ip address of your network card. This could impact any services you are trying to run. Of course, I could be miles off base on this because I have never tried to see whether it makes any difference or not. I have just never allocated 127.0.0.1 a hostname other than localhost.