SSH开启
在osx中开启ssh访问非常简单,只需要打开“系统偏好设置”并且点击“共享”图标即可。
![](https://i-blog.csdnimg.cn/blog_migrate/48eea4d27e3c7c4b8953c6ffab7f1906.png)
选中下图中的check box即允许远程登陆。server处于下图的这个状态时,处于两个选择,可以远程登陆到所有用户,也可以远程登陆到指定用户。
![](https://i-blog.csdnimg.cn/blog_migrate/fef4379e723a4e5407ed6792181fe6ec.png)
创建新的git用户,只需返回到“系统偏好设置”并点击“用户与群组”图标即可。
![](https://i-blog.csdnimg.cn/blog_migrate/87e7daf6bb524205b1b1238fa866f4c5.png)
如下图所示,点击列表下方的增加,并填写新用户的detail。
![](https://i-blog.csdnimg.cn/blog_migrate/2d526206593239fbd90d1607a43b8778.png)
然后如下图所示仅仅允许可以远程到git用户。
![](https://i-blog.csdnimg.cn/blog_migrate/c799599c55b3f3eeb87d7439f2c20dc2.jpeg)
简单的测试
客户端:登陆格式为ssh git@服务器机器名称,会被询问是否将这个host加入允许地址,继续,输入密码后即可远程登陆到本server上。
更安全的SSH(RSA)
实验三台机器:
- ubuntu,作为第一台实验机器
【1】ubuntu下输入:
>ssh-keygen -t rsa
不设置密码。默认在
~/.ssh下会有一个文件
~/.ssh/id_rsa.pub。
【2】目前假设的是,服务器端从来没有配置成为过SSH服务器,所以自然也没有.ssh目录以及
authorized_keys文件。所以ubuntu下输入:
>ssh git@服务器机器名称 mkdir .ssh
>scp ~/.ssh/id_rsa.pub git@yourOtherMachineName:.ssh/authorized_keys
【3】现在重新切回服务器机器工作:
>cd /etc
>chmod 666 sshd_config
>vim sshd_config
编辑如下:
修改
#PermitRootLogin yes为
PermitRootLogin no
移除下面几条语句前面的#
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
#PasswordAuthentication no
#PermitEmptyPasswords no
最后修改#UserPAM yes为UsePAM no
【4】注销ubuntu用户,并重新登陆,运行ssh git@服务器机器名称,不需要密码即可登陆。
- osx,作为第二台实验机器
>ssh-keygen -t rsa
不设置密码。默认在
~/.ssh下会有一个文件
~/.ssh/id_rsa.pub。
【2】由于第一台实验机器的操作,目前已不能直接采用用户名密码方式远程登陆。所以将id_rsa.pub拷贝到了服务器上,并将其内容加入到了服务器上的
authorized_keys文件中,测试通过。
- windows,作为第三台实验机器
【2】同osx的第二步,不同的是有时候windows系统对dns的解析有些问题,所以如果无法登陆,可以git@后面可以输入IP地址实验一下。
参考: