赞
踩
Ubuntu 系统比较简单,在终端中下载:
sudo apt-get install openssh-server
windows则在 设置
- 添加可选功能
中搜索安装OpenSSH客户端与服务器
我的电脑
管理
设置OpenSSH服务为打开:右键属性
,将两项启动类型均设置为自动
,并右键启动
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
文件夹下面
这样就实现了开机自启动了~
参考连接:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。