服务器远程连接
天下大事 必作于细
rsa密钥配置
本地设备
利用git生成一对rsa公私密钥 keygen
windows的话,默认生成目录在 C:\Users\用户名.ssh
id_rsa为私钥文件
id_rsa.pub为公钥文件
私钥文件为你的登录的身份证,登录时选择这个文件即可,具体见下文。
公钥文件需要放到服务器authorized_keys当中
远程服务器
- 进入相应用户的.ssh文件夹, cd ~/.ssh即可
里面应该有authorized_keys、id_rsa、id_rsa.pub、know_hosts等是个文件
我们只需要关心authorized_keys这个文件即可。 - 打开authorized_keys文件,把刚刚本地生成的公钥文件的内容贴进来即可。
- 确保服务上允许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
远程连接
跳板机
为什么需要跳板机,这是为了实现从外网网址跳到内网服务器的需求。
vscode
远程连接
Host xxxxx
HostName xx.xx.xx.xx
User xxx
Port xx
IdentityFile 私钥路径
Host为服务器名称,可以随便起
HostName是服务器ip地址
User 用户名
Port 端口号
IdentityFile 指明私钥文件路径
跳板机
为什么需要跳板机,这是为了实现从外网网址跳到内网服务器的需求。
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