It is useful if you have a way to access to your Mac from other machines.
Here is my summary of how to access to Mac.
SSH
In OSX, it is easy to run ssh server.
To enable ssh server, open
System Preferences
Sharing
.
Then, enable Remote Login
, that’s all.
In OSX, sshd
is automatically launched by launchd
when ssh access is detected.
You see sshd
in such ps -A|grep ssh
only when ssh connections to your Mac exist.
You can find the IP address (ssh <USER>@<IP address>
)
and host name (<ComputerName>.local
) of your machine in above Sharing
window.
Try
$ ssh localhost
from your Mac or try
$ ssh <USER>@<IP address>
from other machines.
Here, OSX has a special configuration file, /System/Library/LaunchDaemons/ssh.plist, in addition to /etc/sshd_config.
Although there is /etc/sshd_config, even if you change a line in the file like:
Port 23
the port for ssh is not changed.
To change the port,
edit the value of key SockServiceName
in /System/Library/LaunchDaemons/ssh.plist, like:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
With a default key value of ssh
, the port is set as 22.
Although most options can be configured in /etc/sshd_config as usual, such port option is overwritten by /System/Library/LaunchDaemons/ssh.plist.
You must not remove
<key>SockServiceName</key>
value from
/System/Library/LaunchDaemons/ssh.plist.
It will make sshd not working even if you set a port correctly in sshd_config
.
To restart sshd to reflect these changes,
uncheck and check Remote Login
in Sharing
,
or execute following commands from command line:
$ sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
$ sudo launchctl load /System/Library/LaunchDaemons/ssh.plist
Now, you should be able to:
$ ssh -p 23 localhost
VNC
It is easy to run vnc server, too.
Just check Screen Sharing
in Sharing
window,
then vnc server will start.
VNC’s default port is 5900.
To change this port, again, use a configuration file under LaunchDaemons,
/System/Library/LaunchDaemons/com.apple.screensharing.plist
.
1 2 3 4 5 6 7 8 9 10 11 |
|
The value of vnc-server
of SockServiceName
represents a port number 5900.
You can set as you like as above.
To restart vnc server, like ssh server, uncheck and check Screen Sharing
,
or execute following commands from command line:
$ sudo launchctl unload /System/Library/LaunchDaemons/com.apple.screensharing.plist
$ sudo launchctl load /System/Library/LaunchDaemons/com.apple.screensharing.plist
Now you can access to your Mac by VNC, and if you have another Mac, VNC viewer is available by default.
To use vnc viewer in Mac, open finder, go to menu Go
,
and select Connect to Server...
(or ⌘-K).
Fill your server Mac’s IP address after vnc://
,
and you can open connect to your server Mac by vnc.
Dynamic DNS
To use ssh or vnc, you need to know the IP address of the server.
If you have static IP address, it is easy, but normally it needs additional cost to have such static IP address.
On the other hand, there are many free services of Dynamic DNS (DDNS).
I’m using No-IP. In the free edition, you need to confirm every 2 months (being noticed by email), and domain names are limited. But I think that is no problem for light usage.
To use DDNS in Mac, get a host name from No-IP, install Dynamic Update Client (DUC), and setup DUC with the host name you got from No-IP.
Back to My Mac
If you want to connect Mac to Mac,
you can use iCloud
Back to My Mac
.
Enable Back to My Mac
, and enable File Sharing
in Sharing
,
then your Mac information is sent through iCloud
and is given a unique number and IPv6 IP address.
You can use host name like <ComputerName>.<UniqueNumber>.members.btmm.icloud.com
.
You can access from another Mac with these host name or IP address.
To check your host name and IP address,
run dsn-sd -E
from terminal:
$ dns-sd -E
Looking for recommended registration domains:
DATE: ---Mon 19 Jan 2014---
00:00:00.000 ...STARTING...
Timestamp Recommended Registration domain
00:00:00.001 Added local
00:00:00.002 Added icloud.com
- > btmm
- - > members
- - - > 123456789
The last number is the given unique number. You can access this Mac from another Mac (both machines are synchronized by iCloud) by:
$ ssh <USER>@<ComputerName>.123456789.members.btmm.icloud.com`
Other Web Services
For screen sharing, you can use such TeamViewer instead of VNC.
TeamViwer doesn’t require IP address, it can connect if your Mac is connected to the internet. And you can use TreamViewer in free for personal usage.
There are server/client softwares for Windows, Mac, Linux, and for mobiles (Android, iOS, etc…).
Previously, I used similar service, LogMeIn, but now a free edition of it was terminated, so that I moved to TreamViewer.
In Japanese: