pycharm连接服务器docker失败时的解决方案:
进入创建好的容器,进行下列操作:
1.安装ssh
执行下列命令:
apt update
apt install -y openssh-server
建立一个配置文件夹并进行必要的配置 :
mkdir /var/run/sshd
echo ‘root:passwd’ | chpasswd
其中root表示待会要远程访问的用户名,即pycharm中SSH Configurations的User name;passwd为访问密码,即pycharm中SSH Configurations的Password,可自行设置。例如本人设置的为:
echo ‘root:123456’ | chpasswd
2.修改ssh配置文件
打开ssh配置文件:
vim /etc/ssh/sshd_config
(1)修改文件中的权限设置:
#PermitRootLogin prohibit-password 默认打开,禁止root用户使用密码登陆,需要将其注释
AddressFamily any 去掉注释符号#
RSAAuthentication yes 去掉注释符号#,启用 RSA 认证
PubkeyAuthentication yes 去掉注释符号#,启用公钥私钥配对认证方式
PermitRootLogin yes 去掉注释符号#,允许root用户使用ssh登录
PasswordAuthentication yes 去掉注释符号#
如果在文件中没有找到被注释过的上述命令,可直接在文件中添加该命令。
(2)进行端口指定:
一般远程连接时,使用的docker端口都是22,也可自行指定,但使用的端口应与服务器本地端口建立映射关系(因为docker只能与服务器进行交互,外界无法直接使用docker的端口),比如在创建docker时设定了这样的映射关系:1032->8890,1032为服务器本地端口,8890为docker端口
那可在配置文件中指定端口Port 8890,在pycharm的SSH Configurations指定端口为1032.
3.在docker中重启ssh服务:
service ssh restart
另外,附上pycharm中远程连接docker的完整操作:
1.点击Configurations
2.选择SFTP方式,建立一个名为new的new server
3.点击…进入SSH配置
4.其中的Port、User name、Password都与上面的设置有关。
5.最后点击Test Connection,出现下图则连接成功。