实验准备:ubuntu版本为20.04
参考:Pycharm中SSH、SFTP连接远程服务器编辑调试全面手把手教程
启动虚拟机ssh
1、安装openssh服务器
sudo apt install openssh-server
2、启动ssh服务
sudo service ssh start
3、检查ssh是否已启动
sudo service ssh status
配置虚拟机ssh用户名和密码
ubuntu系统默认默认禁止了ssh用户名密码登录,需要修改配置文件
sudo nano /etc/ssh/sshd_config
将passwordAuthentication改为yes。
用户名可以使用虚拟机当前用户名,例如我的是zq,但是需要重新设置密码,可以重复之前的密码,但是要修改(我一开始没修改就没连接成功)
sudo passwd
重启ssh服务
systemctl restart sshd
查看ubuntu的ip地址
低版本ubuntu可以直接执行ifcondig
查看,我的版本比较新,ifconfig
已经被ip
替代,需要使用以下指令:
ip addr show
红框中的是ip地址
在pycharm中配置SFTP连接
1、打开pycharm->tools->deployment->configuration。
2、新建SFTP
3、起个名字
点击后面的三个点,然后点击加号
4、输入host的IP,用户名和密码,然后点击Test Connection
建立ssh连接
输入虚拟机用户名与密码,点击Test Connection。
连接成功!
ps:如果有连接不成功的情况可以尝试更换端口,例如转载:ubuntu 安装ssh-server 并配置远程登陆密码,但是基本前面重设密码后,保证ssh服务开启,就不会出现不成功的情况。
连接成功后,将编码改为UTF-8:
配置root path
root path:远程服务器的根路径,比如把他设置为/home/a/,那就意味着我们把a这个文件夹当做了Pycharm所检测的根路径,将来的项目必须在a这个文件夹下面Pycharm才能检测得到。
这里根据习惯更改即可。
配置mapping映射
点击Tools
——Development
——Configerration
。
第一行的Local Path
默认是我们的项目文件夹所在的本地目录
Deployment Path
中填入的是相对于Root Path
的路径,而不是绝对路径,并且,这个路径必须是虚拟机上的项目路径,也就是需要建立一个本地项目路径到虚拟机项目路径的映射关系。
可以在右下角看到配置的server:
点击Tools – Development – Browse Remote Host可以看到虚拟机的目录结构:
双击即可查看相应文件。
注:如果需要在pycharm上操作ubuntu中的文件,比如获取对应目录的文件等,还需要设置当前项目的解释器为远程虚拟机上的解释器,操作如下:
1、点击add Interperter
。
2、选择On SSH
。
3、点击Existing
。选择刚刚连接的SSH server
。如果此处有move
提示,点击一下红色的move
提示即可,进入下一步。
4、点击next
,如图:
Base Interpreter
可以选择自己需要的python版本所在目录。
sync folders
是虚拟机中对应的项目路径,也就是上一步设置mapping
的虚拟机对应路径。
mapping
中的路径一定要和sync folders
对应,不然二者不能及时更新!!!!