大型程序常常会运行在性能强劲的服务器上,但是此时程序的调试又成了难办的事情,于是产生了远程调试的需求,本文介绍WingIDE远程调试配置方法。
查看服务是否安装:
sudo ps -e |grep ssh
返回带有 sshd 的条目即为已经安装
$ ps -e |grep ssh
37 ? 00:00:00 sshd
16013 ? 00:00:00 sshd
16588 ? 00:00:00 sshd
否则安装SSH服务
sudo apt-get install openssh-server
在本地Win10(运行wingIDE的环境)使用ssh-keygen生成SSH密钥
$ ssh-keygen -t rsa
此时在 C -> Users -> Admin(用户名) -> .ssh 文件夹下会生成
id_rsa
和id_rsa.pub
两个密钥文件,其中id_rsa
为私钥,无论如何不能交给别人。
将刚刚生成的公钥文件
id_rsa.pub
复制到远程主机~/.ssh
文件夹中,并添加到~/.ssh/authorized_keys
里。 假设你的id_rsa.pub
文件在.ssh
文件夹中而且名称为rsa_temp.pub
cat ~/.ssh/rsa_temp.pub >> ~/.ssh/authorized_keys
rm ~/.ssh/rsa_temp.pub
此时你的本机Win10系统ssh连接远程主机已经不再需要输入密码进行身份验证。 可以使用ssh命令测试是否配置成功,过程中询问是否继续连接,输入
yes
即可:
ssh -p 3722 root@192.168.10.80 #-p为端口 一般来说ssh常用端口默认是22
----->
The authenticity of host '[192.168.10.80]:3722 ([192.168.10.80]:3722)' can't be established.
ECDSA key fingerprint is SHA256:qCIsaqEa6wNy0daSgBxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[192.168.10.80]:3722' (ECDSA) to the list of known hosts.
Welcome to Ubuntu 16.04.6 LTS (GNU/Linux 4.4.0-142-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
Last login: Thu May 14 08:20:47 2020 from 192.168.10.213
* Starting OpenBSD Secure Shell server sshd [ OK ]
root@fc6fa7bb6824:~#
此时我们已经可以用SSH连接两个操作系统,即已经完成了理论层面的配置,接下来进入具体操作阶段。
此处解释一下,WingIDE在连接远程服务器时需要配置连接信息,而这个信息可以在putty中保存,也就是说,只要putty中保存的参数可以连接成功,那么这套配置就可以用于wingIDE的远程调试。
putty需要ppk格式的私钥文件,生成方法如下:
Conversions
菜单项中的Import key
选项:Save private key
按钮就可以把私钥转换为ppk的格式了(不要点Generate
)打开putty
主要配置IP和端口号,在Saved Sessions里配置可以区分的名字,之后供WingIDE调用
Save
保存当前配置到test_3722
中:test_3722
即可连接到远程服务器:距离成功仅一步之遥。 打开WingIDE, Project -> New Project
其中 Identifier 为该工程的名称, Host Name为我们刚刚保存的Putty名称,点击
OK
。
可以本地修改远程代码,并运行调试: