🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
**提示:对于已经了解了如何建立ssh无密匙连接的童鞋,可以略过本章哦~** ## 什么是ssh 这是一款远程连接工具,一般情况下linux服务器安装有,windows需要自行安装。 ## 为什么需要ssh连接服务器 因为git需要我们通过ssh连接服务器来上传代码 ## 如何连接服务器 在windows平台我们可以通过putty等工具使用ssh命令连接我们的服务器。 在linux平台我们直接可以打开控制台执行 ``` ssh user@your.server.com ``` `user`代表登录linux服务器上的指定用户,`your.server.com `代表你的服务器域名,同样也可以是服务器的ip地址。默认情况下ssh命令通过22端口进行连接。如果无法连接,请确认你的防火墙打开了22端口。。 ## ssh登录方式 有密匙连接:默认方式,在执行`ssh user@your.server.com `后需要输入指定用户的密匙,方可进入系统。 无密匙连接:在本地保存公钥,服务器保存私钥,连接时自动验证密匙。 <br> <div align="center"><h3>有密匙连接<h3></div> ![](https://box.kancloud.cn/c71ee486d1242c6cd5b1f6622f393d3c_1086x557.png) <br> <div align="center"><h3>无密匙连接<h3></div> ![](https://box.kancloud.cn/b15e02bdbe636d03f1cbb6a54f0d7743_1086x557.png) ## 无密匙连接建立 建议大家使用无密匙连接服务器,这样即安全又方便(因为黑客猜不到你的密匙啊)。 ### 在本地机器上创建ssh密匙 执行如下命令,在连按三次回车键。(linux系统自带,windows需要下载安装ssh方可使用) ``` ssh-keygen -t rsa -C "your_email@example.com" ``` 执行完毕会出现如下结果,,注意划红线的地方,是ssh的生成目录。进入ssh的生成目录拷贝`id_rsa.pub`的内容(注意是有pub结尾的内容) ![](https://box.kancloud.cn/6d49b4743fcb24247273796ce3d7b906_1086x557.png) ***** ### 将ssh密匙的一部分保存到服务器 进入你要通过无密匙登录的用户登入文件夹,分两种情况 - root用户:进入/root目录。 - 非root用户:进入/home/user,`user`代表用户登入文件夹。比如我的服务器上home目录里就有一个www目录和git目录,他们分别对应git用户和www用户。 然后用户将内容拷贝到用户登入文件夹的.ssh目录下的authorized_keys文件中。(例如将内容烤入:/home/www/.ssh/authorized_keys) 如果没有这个文件或文件夹肿么办? 手动创建他们丫~ **最后:进入authorized_keys所在的目录,修改authorized_keys的权限,让他们能够被指定用户读写** ``` cd /home/www/.ssh/ # 这个目录请视实际情况而定 sudo chown www:www authorized_keys sudo chmod u+rw authorized_key ``` ### 最后 我们就可以通过`ssh user@your.server.com `无秘钥连接我们的服务器了,如果还不能就执行`service sshd restart`命令重启服务器的ssh服务下。 ## 重启ssh命令 service sshd restart