一、打开ssh
Mac Terminal是自带SSH的,可以用whereis来看看:
$ whereis ssh
但是在现有进程中找不到ssh对应的进程:
$ ps aux | grep ssh
apple 25927 0.0 0.0 2432784 616 s000 R+ 3:14下午 0:00.00 grep ssh
直接用ssh命令连接本地主机或远程主机时会遇到下列错误提示:
ssh: connect to host localhost port 22: Connection refused
谷歌了一下,原因在于系统设置中没有打开远程登录,参见: How do I open port 22 in osx 10.6.7
解决方法:
打开系统偏好设置 —— 共享,选中远程登录:
输入ssh localhost来测试一下,如果提示输入密码来认证就没问题了。
此时再grep一下进程可以看到ssh进程在运行了:
$ ps aux | grep ssh
apple 4656 0.0 0.0 2525056 1540 ?? S 三02下午 0:00.19 /usr/bin/ssh-agent -l
apple 26009 0.0 0.0 2432784 612 s000 R+ 3:19下午 0:00.00 grep ssh
二、ssh和scp
接下来可以通过ssh命令来连接其它主机,例如:
ssh username@192.168.100.100
其中username为要登录的主机的用户名,192.168.100.100为要登录的主机的IP地址。
要查看当前有多少个处于登录状态的用户,可以使用who命令查看。
scp命令可以在本地主机和远程主机之间传输文件,简单的使用如下:
$ scp .zshrc username@192.168.100.100:/Users/username/
该命令将当前路径下的.zshrc文件复制到远程主机的/Users/username目录下。
这样就可以免去重新设置一遍.zshrc的麻烦了。
参考资料: Linux中cp和scp命令的使用方法
如果输入的username@host是错误的,那么shell将无任何提示,只有输入正确的地址,才会要求我们输入命令认证,从而进行下一步的动作。