Ubuntu

云服务器

由于ubuntu不支持登录root,先重置root用户的密码,在控制台登录,sudo -i -> adduser user_name

对于ssh无法连接,默认情况下root账号无法用ssh登录,需要以下设置

vim /etc/ssh/sshd_config

找到PermitRootLogin下面添加一行

PermitRootLogin yes

保存退出后重启ssh/etc/init.d/ssh restart

系统安装

安装过程还是会下载一些东西,注意流量

系统升级

可以选择在装系统的时候选择安装时更新(不建议),也可以在更新镜像源后再 “软件更新器”中更新

镜像源

在 “软件与更新” 中设置镜像源,下载自->其他站点->中国->mirror.aliyun.com

// 更新后可以执行的动作
sudo apt-get update
sudo apt-get upgrade

远程连接

参考文章

openssh-client 						// 默认安装,支持客户机访问其他系统的权限
sudo apt-get install openssh-server // 让其他系统访问客户机
service ssh start 					// 开启ssh
sudo systemctl enable ssh 			// 开机自启
sudo systemctl disable ssh 			// 关闭自启
sudo systemctl status ssh 			// 查看状态
ifconfig -a 						// 查看ip

问题

  • 桌面一直显示挂载系统光盘?

    在虚拟机设置->CD/DVD->取消已连接

  • 如果Linux服务器出现变化,需要在xshell或xftp更改本地密钥
    参考文章

  • xftp连接要使用sftp协议,而xshell是ssh协议,默认都是22端口,建议提前输入用户和密码

无法ping通

尝试使用远程连接可以解决

常用命令

sudo -i // 进入root模式,因为一些场景下sudo无效
exit 	// 退出root

系统监视器

自带的监视器(任务管理器)应该是有BUG,建议到软件商店搜索并安装新的

REMOTE HOST IDENTIFICATION HAS CHANGED!

如果vscode连接,用户名密码都是正确的,但是无法连接,很大原因就是这个

之前保存的公钥失效了,运行ssh-keygen -R ip重新生成

ssh

连接虚拟机

新建ssh连接,输入ssh name@ip,选择平台Linux和相应的远程文件夹即可

连接云服务器

User:云服务器的用户名,Ubuntu默认是ubuntu(小写),CentOS默认是root

在cmd也可以执行ssh user@ip进行登录

查看Linux的ssh是否启动:输入netstat -tanp查看sshd进程是否启动

免密登录

  1. ssh-keygen -R ip清除原先的记录,cmd输入ssh-keygen生成公钥包括id_rsa.pub

  2. id-rsa.pub上传到root/.ssh文件夹

  3. 启动linux ssh

    chmod 700 .ssh				# 权限设置为rwx/---/---
    cd .ssh
    cat id_rsa.pub >> authorized_keys
    chmod 600 authorized_keys 	# rw-/---/---
    service ssh restart
    

C/C++开发

插件

  • C/C++: 提供代码提示和库文件查看
  • Code Runner :可以右键直接运行远程程序
  • CMake & CMake Tools
  • vscode-proto3

注意

以下配置文件不是必须的,只要启用C/C++扩展,基本功能都可以使用;

在扩展->ssh已安装中->启用工作区

配置

新建.vscode文件夹,存放以下3个配置文件
c_cpp_properties.json

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",    // 将本地工作目录添加到include路径中,
                                            // 这样本地的所有头文件都可以被VSCode索引,这样编辑就不会触发红色的波浪线;
                "/usr/include/**"           // 将Linux下的引用路径添加到include路径中,
                                            // 对于一些第三方依赖库,如Boost的头文件,就能被VSCode索引
            ],
            "defines": [],
            "compilerPath": "/usr/bin/g++",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "gcc-x64"
        }
    ],
    "version": 4
}

launch.json

{
  // Use IntelliSense to learn about possible attributes.
  // Hover to view descriptions of existing attributes.
  // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
      {
          "name": "(gdb) Launch",
          "type": "cppdbg",
          "request": "launch",
          "program": "${workspaceFolder}/${fileBasenameNoExtension}",
          "args": [],
          "stopAtEntry": false,
          "cwd": "${workspaceFolder}", //这是你的工作目录,可以根据需要调整
          "environment": [],
          "externalConsole": false,
          "MIMode": "gdb",
          "preLaunchTask": "My C/C++ Configurations", // 这是在调试之前需要执行的任务,需要跟task.json文件配合起来工作
          "setupCommands": [
              {
                  "description": "Enable pretty-printing for gdb",
                  "text": "-enable-pretty-printing",
                  "ignoreFailures": true
              }
          ]
      }
  ]
}

tasks.json

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "My C/C++ Configurations",
            "type": "shell",
            "linux": {
                "command": "/usr/bin/g++", // 这项配置是定义在每次编译之前都会执行一遍cmake
            },
            "args": [                                 //参数
				"-g",
				"${file}",                            //表示当前项目中的所有活动文件
				"-o",
				"${fileDirname}/${fileBasenameNoExtension}"  //表示在当前项目文件夹下生成与活动文件同名但没有扩展名的可执行文件
			],
        }
    ]
}

测试:F5 或者 在右侧导航栏的运行与调试

posted @   COMEIN  阅读(34)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示