admin管理员组文章数量:1564200
Windows & Ubuntu:
1、安装Openssh
-
Ubuntu 系统比较简单,在终端中下载:
sudo apt-get install openssh-server
-
windows则在
设置
-添加可选功能
中搜索安装OpenSSH客户端与服务器
- 右键
我的电脑
管理
设置OpenSSH服务为打开:
右键属性
,将两项启动类型均设置为自动
,并右键启动
2、检查是否启动
-
windows在
PowerShell
(Windows搜索栏直接搜索)中检查是否启动:ssh -V
Get-Service -Name *ssh*
左边Status显示Running即可
Ubuntu系统:
sudo ps -e | grep ssh # 检查是否启动
sudo service ssh start # 启动ssh
-
检查是否监听 22 号端口:
netstat -an | findstr :22 # windows
netstat -an | grep :22 # Ubuntu
生成密钥对免密登录
-
进入
.ssh
文件夹下生成密钥对: -
打开
C:\Users\your_name\.ssh
文件夹,将刚生成的.pub
文件改名为authorized_keys
(Ubuntu在~/.ssh
) -
更改
C:\ProgramData\ssh\sshd_config
文件:(Ubuntu在/etc/ssh/
) -
Winods在之前我的电脑中的服务中重启服务
Get-Service sshd
Ubuntu系统直接重启即可
sudo service sshd restart
-
如果是在同一局域网下的两台机器就可以直接通过ssh连接了
这里点击Vscode左下角的远程连接,然后输入
ssh 用户名@地址
即可连接(Windows用户名为微软账号,可以在电脑中搜索用户信息查看),这里要输入密码 -
这里可以按
Ctrl + Shift + P
搜索Open SSH Configuration File
打开设置进行配置:
这里的HostName即为ip地址,User为用户名,设置好
IdentityFile
后即可实现免密登录啦(改了端口的可以设置Port xxx,这里的xxx指的是被远程主机的ssh端口,不清楚可以在上文sshd_config
文件中查看)
创建云服务器并实现内网穿透
免费的可以使用Tailscale进行实现,但是速度太慢了,很卡顿。Tailscale只需要在两台电脑中下载并在同一账号下即可,登录官方admin界面可以看到每个的机器的公网ip,通过公网ip进行连接
-
选择阿里云的ECS服务器,这里选择的是Ubuntu系统
记录下公网ip地址
-
在上述页面中选择重置密码,设置root用户密码
-
打开阿里云端口:
-
下载 frp
-
解压文件后在本地可以看到如下文件:
这里注意区分,
frps
frps.toml
均为服务器上需要的文件,注意下载Linux系统的文件 -
通过Vscode的ssh连接到服务器
这里的
xxx.xxx.xxx
为公网的ip地址,连接后需要输入密码 -
连接后打开
/root/
目录 在.ssh
文件夹下找到authorized_keys
,将之前生成authorized_keys
的文件内容直接复制到文件中,并将/etc/ssh/sshd_config
配置一下(参考上文)重启服务后就实现了免密登录了
-
这里将上面所用到的
frps
frps.toml
拷贝到服务器上,在vscode中直接拖动就行,在终端执行:./frps -c frps.toml
其中
frps.toml
:bindPort = 7000
端口为7000,这里可以更改,这里表达的意思是服务器会开放7000端口供其他机器连接
-
然后到需要远程到的机器上,比如:
MacOS想连接不在同一局域网下的Windows,那么MacOS 需要通过内网穿透来连接,MacOS先连接到阿里服务器上然后中转到Windows,而这里则需要我们将
frpsc
frpc.toml
客户端服务放在Windows中这里需要更改
frpc.toml
文件:serverAddr = "公网ip" serverPort = 7000 # 这里与服务器上设置的7000对应 [[proxies]] name = "ssh" type = "tcp" localIP = "127.0.0.1" localPort = 22 # Windows中ssh的端口 remotePort = 6000 # 中转的端口
-
设置好后重启服务即可远程连接:
ssh -i path/to/TenYago -p 6000 username@阿里公网ip
这里需要注意的是
username
为Windows的用户名,同理我们可以和上面一样可以在Vscode中设置免密登录。 -
自启动:
-
Ubuntu:
安装插件systemd:
sudo apt install systemd
修改配置,添加如下代码:
vim /etc/systemd/system/frps.service
[Unit] #服务描述 Description=frpc service After=network.target syslog.target Wants=network.target [Service] Type=simple #执行命令 ExecStart=/root/frpc/frps -c /root/frpc/frps.ini ExecStop=/bin/kill $MAINPID Restart=always #监控服务是否成功启动,未启动等待5分钟后从新启动 RestartSec=5 #等待时间 StartLimitInterval=0 [Install] WantedBy=multi-user.target
开机自启动:
sudo systemctl enable frps
-
windows:
编写脚本
frpc_autostart.bat
:@echo off :home frpc.exe -c frpc.toml goto home
编写
frpc.vbs
脚本:Set WshShell = CreateObject("WScript.Shell") WshShell.Run "Path/to/frpc_autostart.bat",0,True
将
frpc.vbs
脚本放入到C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
文件夹下面这样就实现了开机自启动了~
-
参考连接:
如何优雅地访问远程主机?SSH与frp内网穿透配置教程
通过 SSH 访问内网机器
版权声明:本文标题:VScode内网穿透ssh远程连接Windows、Ubuntu十分详细步骤(ssh + 阿里云 + frp ssh + tailscale) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1727427541a1114135.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论