1.云服务器配置(以阿里云为例)
2.SSH远程连接服务,Linux免密登录
3.vscode配置C++环境
1.1 XSHELL使用密码无法登录Linux云服务器ECS
可能原因
该问题是由于SSH服务对应配置文件/etc/ssh/sshd_config
中的参数PasswordAuthentication
被设置为no
,表示禁止以密码方式登录ECS实例,需要修改为yes
。
解决方案
VNC登录实例,修改对应配置文件
VNC登录时账号为用户名,密码为实例密码,忘记密码可重置实例密码
1.2 查看/etc/ssh/sshd_config
的参数PasswordAuthentication
配置是否有误。
cat /etc/ssh/sshd_config
1.3 修改PasswordAuthentication
的参数为yes
vi /etc/ssh/sshd_config
按ESC输入 :wq 按回车键保存
1.4重启SSHD服务
service sshd restart
2.1 本机公密钥生成
打开本机命令行提示符,输入
ssh-keygen -t rsa
可以选择是否输入密码,不输入则一直回车就行
2.2 云服务器公密钥生成(可选是否使用GitHub)
XSHELL连接云服务器,同样输入
ssh-keygen -t rsa
ssh-keygen -t rsa -C "你的邮箱" //要使用github的话,生成带邮箱公钥提交至GitHub-setting-SSH and GPGkeys-Key中
此时如果需要设置密码,则以后使用git 上传项目时用的就是此密码,不设置则不用输入
(使用GitHub才用)GitHub网站上添加SSH key
cd ~/.ssh
ls
cat id_rsa.pub
复制id_rsa.pub公钥中的内容
把复制的内容提交至GitHub-setting-SSH and GPGkeys-Key中
2.3 本机公钥替换云服务器authorized_keys文件中的内容
有可能没有authorized_keys文件,用下面命令创建,把本机公钥复制到此文件中即可
vim authorized_keys
之后vscode连接则不需要密码了
3.1 vscode配置连接云服务器
Host:主机名
HostName:云服务器IP地址
User:用户名
VSCODE连接ssh服务器时提示could not establish connection to解决方法
可能是之前连接过,现在无法连接则需要打开刚刚的地址文件中删掉known_hosts即可
3.2 vscode配置C++开发环境
在vscode扩展中给云服务器安装下面的插件
有可能安装后还是编译不了C/C++文件,可能是没有安装gdb,gcc,g++
先安装gdb,需要先更新安装源
sudo apt-get update
sudo apt-get install gdb
安装gcc,g++
sudo apt install gcc g++
3.3 vscode编译问题
当使用g++编译.cpp文件后不能编译.c文件,是因为编译时默认配置为g++,删除.vscode文件夹,再次编译时选择gcc编译