# 通过pycharm远程调试代码

# 配置ssh

# 准备工作

将pycharm 升级到 2020.3 以上
Windows 系统下载安装git bash (opens new window),安装完成右键--Git Bash 可打开终端,后续的所有命令行操作均在git bash中操作

# 获取notebook ssh服务的配置信息

点击右侧按钮SSH,会弹出该notebook实例的ssh服务配置信息

# 配置本地ssh config 文件

vim ~/.ssh/config填写如下内容

Host *
    PubkeyAcceptedKeyTypes +ssh-dss
    StrictHostKeyChecking no
    ForwardAgent yes
Host huyaFort
    # 跳板机的ip地址
    HostName fort.huya.com
    # 你跳板机的用户名
    User lixxx
    # 跳板机登录端口
    Port 32200
# host名称(该部分信息可从上一步获得)
Host notebook
    # notebook IP
    HostName 10.180.xx.xx
    # notebook用户名
    User root
    # notebook port
    Port 32389
    # windows 需要指定ssh的绝对路径,mac 可以填ssh
    ProxyCommand /path/of/ssh.exe -W %h:%p huyaFort
# 多个notebook可以添加在下面    

修改权限

chmod 600 ~/.ssh/config

# 修改密钥文件

将在精卫平台 (opens new window)下载的密钥拷贝一份到~/.ssh/,并重命名为id_rsa,修改文件权限,将密钥设置为免密

cp /your/identity/path   ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-keygen -p -f  ~/.ssh/id_rsa
// 输入密钥密码,然后回车,回车。

# 配置pycharm SSH Configurations

打开pycharm -> Settings(mac为Preferences),填写本地配置的ssh config 名称 配置完后点击Test Connection, 输入notebook密码。连接成功。点击OK

# 配置pycharm SFTP

依次点击Tools ->Deployment,勾选Automatic Upload以自动同步代码。再点击Configuration。

在弹出的窗口中依次点击+号,SFTP。

在弹出窗口中输入配置名然后点击OK

选择上一步骤配置的SSH Configurations,点击 Test Connection,连接成功
点击Mappings,配置Local path和Deployment path以同步本地代码到notebook。Local path为本地代码路径,Deployment path为notebook代码同步路径。点击OK。

至此完成远程调试的配置工作

# 断点调试

打上断点,右键弹窗点击Debug即可进行远程调试。

# 辅助功能

# 1.通过pycharm Terminal登陆notebook

依次点击Tools->Start SSH session

在弹出的窗口中选择远程解释器

可在IDE界面下方找到登陆窗口。

# 2.查看及下载notebook内的文件

依次点击Tools ->Deployment->Browse Remote Host

在弹出的窗口中,右键选中您要下载的文件,点击Download from here即可将完成下载。注:可查看范围为notebook内所有文件,可下载范围仅为Deployment path下的文件。

# 3.手动同步

如果自动同步失效,可选择手动同步文件。在Project窗口选中您要上传的文件。

依次点击Tools ->Deployment->Upload to 即可完成上传。