Since you can log in with SSH from the Mac to the Linux machine, the quickest and easiest solution (at least to provide on a web site like StackOverflow) may be to run the scp command from the Mac. Something like: scp user@linuxmachine:/path/to/file /destination/on/mac
To further troubleshoot what's going on with connecting from the Linux machine to the Mac, you may have better luck asking at the appropriate Stack Exchange (maybe apple.stackexchange.com but I'm not sure).
(UPDATE: This question was migrated from StackOverflow to SuperUser, so I guess SuperUser is the place. Good to know.)
While you'll probably get a better answer at another Stack Exchange site, here's a quick and crude way you can try to pinpoint where the trouble might be, perhaps this might help:
- From the Linux machine, try
telnet N.N.N.N 22 (substituting your Mac's IP address for N.N.N.N). And, yes, that's a space before the number 22.
If you get a result that looks like this, then everything is fine network-wise and you probably need to look into the settings in your sshd_config file on the Mac:
Trying N.N.N.N...
Connected to N.N.N.N.
Escape character is '^]'.
(This is because scp uses the SSH protocol. Fix your SSH problem and you will probably fix your scp issue.)
If you do not get something that looks like that, it's time to check some network related things.
- Is there NAT going on between the Mac and the Linux machine? What's the IP address you're using? That would totally explain an ability to be able to connect from the Mac to the Linux machine but not the other way around. Can you ping your Mac's IP address from the Linux machine?
- Look for firewall rules and logs on both machines
I'm suggesting a somewhat primitive way to troubleshoot. There are no doubt ways to crank up the logging on both ends and get a better idea of what's happening.
UPDATE: And now that the question has been migrated to SuperUser, maybe some people will provide more detailed and foolproof ways to troubleshoot this issue. Good luck!