Contents

远程登录服务器

本章主要为了补写git ssh到远端的VPS服务器时, 出现的问题

前言

本章主要为了补写git ssh到远端的VPS服务器时, 出现的问题

正文

问题遇到的过程

在远程请求VPS服务器时, 因为VPS服务器一般都会有一个默认的端口, 而本地SSH默认请求端口为22, 所以在请求VPS服务器时要加入端口请求

首先查看是不是git用户不能登录, 那就在VPS服务器中, 给git用户添加密码

1
passwd git 你的密码

远程请求

1
2
 ssh  git@VPS的IP地址 -p VPS的端口号
输入密码

登录成功, 说明可以登录. 那么尝试通过密钥登录 将本地C:\Users\<用户名>\.ssh复制粘贴到远程的VPS服务器的~/.ssh/authorized_keys 再一次的远端请求

1
 ssh  git@VPS的IP地址 -p VPS的端口号

报出了Permission denied 查找问题, 发现是VPS服务器中的文件夹权限问题 解决方法: ssh user@host 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

这条命令由多个语句组成,依次分解开来看:(1)“$ ssh user@host”,表示登录远程主机;(2)单引号中的mkdir .ssh && cat » .ssh/authorized_keys,表示登录后在远程shell上执行的命令:(3)“$ mkdir -p .ssh"的作用是,如果用户主目录中的.ssh目录不存在,就创建一个;(4)‘cat » .ssh/authorized_keys’ < ~/.ssh/id_rsa.pub的作用是,将本地的公钥文件~/.ssh/id_rsa.pub,重定向追加到远程文件authorized_keys的末尾。

再次请求

1
 ssh  git@VPS的IP地址 -p VPS的端口号

登录成功