Mac 使用SSH远程登录

一、打开ssh

Mac Terminal是自带SSH的,可以用whereis来看看:

[plain] view plain copy
  1. $ whereis ssh  

但是在现有进程中找不到ssh对应的进程:

[plain] view plain copy
  1. $ ps aux | grep ssh  
  2. apple           25927   0.0  0.0  2432784    616 s000  R+    3:14下午   0:00.00 grep ssh  


直接用ssh命令连接本地主机或远程主机时会遇到下列错误提示:

[plain] view plain copy
  1. ssh: connect to host localhost port 22: Connection refused  


谷歌了一下,原因在于系统设置中没有打开远程登录,参见:How do I open port 22 in osx 10.6.7

解决方法:

打开系统偏好设置 —— 共享,选中远程登录:

Mac 使用SSH远程登录


输入ssh localhost来测试一下,如果提示输入密码来认证就没问题了。

此时再grep一下进程可以看到ssh进程在运行了:

[plain] view plain copy
  1. $ ps aux | grep ssh  
  2. apple            4656   0.0  0.0  2525056   1540   ??  S    三02下午   0:00.19 /usr/bin/ssh-agent -l  
  3. apple           26009   0.0  0.0  2432784    612 s000  R+    3:19下午   0:00.00 grep ssh  


二、ssh和scp

接下来可以通过ssh命令来连接其它主机,例如:

ssh [email protected]

其中username为要登录的主机的用户名,192.168.100.100为要登录的主机的IP地址。

要查看当前有多少个处于登录状态的用户,可以使用who命令查看。


scp命令可以在本地主机和远程主机之间传输文件,简单的使用如下:

[objc] view plain copy
  1. $ scp .zshrc username@192.168.100.100:/Users/username/  


该命令将当前路径下的.zshrc文件复制到远程主机的/Users/username目录下。

这样就可以免去重新设置一遍.zshrc的麻烦了。

参考资料:Linux中cp和scp命令的使用方法


如果输入的[email protected]是错误的,那么shell将无任何提示,只有输入正确的地址,才会要求我们输入命令认证,从而进行下一步的动作。


转载地址:http://blog.****.net/jymn_chen/article/details/39931469