远程服务器连接(密钥验证,跳板机)

服务器远程连接

天下大事 必作于细

rsa密钥配置

本地设备

利用git生成一对rsa公私密钥 keygen
windows的话,默认生成目录在 C:\Users\用户名.ssh
id_rsa为私钥文件
id_rsa.pub为公钥文件
私钥文件为你的登录的身份证,登录时选择这个文件即可,具体见下文。
公钥文件需要放到服务器authorized_keys当中

远程服务器

  1. 进入相应用户的.ssh文件夹, cd ~/.ssh即可
    里面应该有authorized_keys、id_rsa、id_rsa.pub、know_hosts等是个文件
    我们只需要关心authorized_keys这个文件即可。
  2. 打开authorized_keys文件,把刚刚本地生成的公钥文件的内容贴进来即可。
  3. 确保服务上允许RSA密钥登录,这里需要root权限
sudo vim /etc/ssh/sshd_config
//查看文件中的这两项是否都是yes,第一项是运行密钥登录,第二项是允许输入密码登录
RSAAuthentication yes
PubkeyAuthentication yes

这样,密钥配置就完成了。

当然,有一个问题,就是你的服务器下面并不存在authorized_keys这个文件,甚至连.ssh文件夹都没有
那么,你自己建.ssh文件夹和authorized_keys文件然后再做一样操作即可,不过需要注意,文件夹和文件的权限是有要求的:

chmod 700 .ssh
chmod 644 authorized_keys

下面,根据平台不同分成mobaxterm和vscode对本地设置私钥以及跳板机进行说明

mobaxterm

远程连接

远程服务器连接(密钥验证,跳板机)_第1张图片

跳板机

为什么需要跳板机,这是为了实现从外网网址跳到内网服务器的需求。
远程服务器连接(密钥验证,跳板机)_第2张图片

vscode

远程连接

远程服务器连接(密钥验证,跳板机)_第3张图片

Host xxxxx
    HostName xx.xx.xx.xx
    User xxx
    Port xx
    IdentityFile 私钥路径

Host为服务器名称,可以随便起
HostName是服务器ip地址
User 用户名
Port 端口号
IdentityFile 指明私钥文件路径

跳板机

为什么需要跳板机,这是为了实现从外网网址跳到内网服务器的需求。
远程服务器连接(密钥验证,跳板机)_第4张图片

Host public_net
    HostName xx.xx.xx.xx
    User xxx
    Port xx
    IdentityFile 私钥路径

Host inter_net
    HostName xx.xx.xx.xx
    User xxx
    Port xx
    IdentityFile 私钥路径
    ProxyCommand ssh -W %h:%p public_net

ProxyCommand 能够指明通过另一个ip做跳板,其中ssh需要绝对运行路径,如C:\Windows\System32\OpenSSH\ssh.exe

你可能感兴趣的:(远程服务器连接(密钥验证,跳板机))