I have a ubuntu server which I scp files to often. It is setup for password-less authentication using a key I have on the server. Is it possible to tie a mac address to the key so that only my client can login with it?
Further, the SSH server has no clue what the MAC address of a client is. Its knowledge of the network ends at TCP/IP. There is no reason it would need the MAC address of its clients, and it wouldn't be available for all clients anyway (think about hosts that are not on the local subnet).
1Exception: Host keys are usually associated with the IP address or hostname of the host they belong to, via the
Short answer yes, but only through IPTables. This is definitely not what you're looking for as it's has nothing to do with your key, only firewall filtering.
Here's a page on using ssh keys with Ubuntu. It's very easy to do once you have done it once.
After that, you simply keep your private key secret (unique to that client)