废话不多说,本机环境如上OSX,首先,你要有一个安装了Ubuntu的virtualbox虚拟机
关于Ubuntu的版本问题可以选择安装桌面版或者服务器版,问题不大
接下来开始配置
(以桌面版为例)
首先,打开Virtualbox,安装Ubuntu虚拟机(就不在此赘述)(主要是安装过程中也没遇到太多大问题)

1.我选择的是第二个Ubuntu,接下来点左上角的工具,新建一个支持IPV4的网卡,同时要启用DHCP服务器

2.打开你的虚拟机设置

3.选择网络

4.配置网络地址转换NAT模式(为了你能在你的虚拟机中上网)
但是注意,如果只配置这张网卡是不够的,在本地通过

		ifconfig | grep inet

命令查到的IP地址是10.0.**,是不可以用作后面SSH连接服务的

5.接下来配置一个网卡2,也就是你刚刚一开始设置的一张IPV4网卡,后面用作SSH的IP地址也就是这个网卡的IP

6.然后启动你的虚拟机(其他设置正常的话),打开终端输入

	ifconfig | grep inet

记录下你查到的192开头的地址,127开头的地址是本地回环地址

7.打开Mac终端,输入命令

ssh -p 22 用户名@IP地址(也就是192.*)

通过本地尝试连接Ubuntu,会提示你输入密码

8.

9.当出现了下图,也就意味着你本次登陆成功了

10.输入exit退出,接下来设置免密登录
在Mac终端下输入

	ssh-keygen

接下来会出现三次提问框,第一个是公钥、私钥将会以什么名字存放在本地,如果你之前没有的话,可以直接默认,如果已经存在,比如github就曾用过,另外两个问题一路默认enter
接下来打开MAC终端,

cd ~(进入家目录)

ls -a(看看本地有没有.ssh文件夹)

cd .ssh(进入.ssh文件夹)

在这个文件夹下你就可以看到是否有过公钥秘钥。

11.接下来最关键的步骤来了,如果你直接使用了默认的名字那么输入

	ssh-copy-id -p 22 (用户名)@(IP地址)

如果你没有使用默认的名字,而是自己指定了新的文件,输入

	ssh-copy-id -p 22 -i (文件名) (用户名)@(IP地址)

12.进入Ubuntu,打开命令行输入

	cd ~

	cd .ssh

	ls

会看到本地多了一个authorized_keys文件

13.接下来再次输入

	ssh -p 22 用户名@IP地址(也就是192.*)

可以发现实现了免密登录。

14.如果不成功的话可以试试删掉那几个文件。