clion远程开发

                                clion远程开发 

简要概括:

建立 SFTP 通讯,创建远程目录与本地目录的映射文件夹,就可以把本机文件夹中的文件用鼠标右键选中上全传,打开自动同步功能,后面更改文件就可以自动同步文件了。

一.新建SFTP远程链接服务

file→settings→Deployment

+选择 SFTP 输入名称 ubuntu old 6楼 3轮

1.右边 connection

输入ip与密码勾选永久保存。 Test Connection测试网络通讯clion远程开发

【直接用远程机的帐号密码登入,可以选择不用ssh链接】

二.右边 Mappings 映射的文件夹

选择映射的文件夹目录:

local path 本机文件目录

/home/sukai/workspace/workspace_ros_car_noetic/src/trilateration

Deployment path 远程目录:

/home/shi/PMRobot/src/trilateration

三.右边 Excluded Path 排除不需要更新的文件夹

local path 排除本机文件目录。

Deployment path 排除远程目录。

四.自动同步 (开启这个功能后与vs code一样,不需要手动同步了)

五.手动同步(拉取或推上去)

批量上传

同步远程机与本机的系统时间

系统时间一致才能很好的使用远程开发

脚本:

#!/bin/bash
#本地机安装 sudo apt-get install sshpass
# 这个脚本可以设置时间
# 远程机器的用户名、密码和IP地址
REMOTE_USER="sukai"
REMOTE_PASSWORD="sukai123456"
REMOTE_HOST="10.9.162.109"# 获取本机时间
LOCAL_TIME=$(date +"%Y-%m-%d %H:%M:%S")# 打印本机时间
echo "Local time: $LOCAL_TIME"# 在远程机器上设置时间
sshpass -p $REMOTE_PASSWORD ssh -o StrictHostKeyChecking=no $REMOTE_USER@$REMOTE_HOST "echo $REMOTE_PASSWORD | sudo -S date -s \"$LOCAL_TIME\""# 检查远程机器的时间是否已更新
sshpass -p $REMOTE_PASSWORD ssh -o StrictHostKeyChecking=no $REMOTE_USER@$REMOTE_HOST "date"

ubuntu 中制作ssh密钥

在Ubuntu中制作SSH密钥对,你可以使用ssh-keygen命令。以下是步骤和示例代码:

打开终端。

输入 ssh-keygen 命令并按回车。你可以接受默认选项或指定密钥文件的路径和文件名。

输入密钥的密码短语(passphrase),或者为空(直接按回车),这取决于你是否想要为密钥添加密码。

ssh-keygen
执行上述命令后,你将在家目录的.ssh文件夹中获得两个文件:id_rsa(私钥)和id_rsa.pub(公钥)。
cat id_rsa.pub 打印出公钥

如果你想要指定密钥文件的位置和文件名,可以这样做:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/my_ssh_key
这里-t指定密钥类型,-b指定密钥长度,-C添加注释(通常是你的邮箱),而-f指定密钥文件的路径和文件名。

完成后,你可以将公钥~/.ssh/my_ssh_key.pub 的内容添加到远程服务器的~/.ssh/authorized_keys文件中,以便进行无密码SSH登录。

如果你的本机上还没有 ~/.ssh/authorized_keys 文件,你可以创建它。以下是具体步骤:

确保本机上存在 ~/.ssh 目录

首先,确保本机上有 ~/.ssh 目录。如果没有,请创建它:

mkdir -p ~/.ssh
chmod 700 ~/.ssh

创建 authorized_keys 文件

~/.ssh 目录中创建 authorized_keys 文件

touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

将远程机的公钥添加到 authorized_keys 文件中

接下来,将远程机的公钥添加到 authorized_keys 文件中。

示例步骤:

在远程机上生成 SSH 密钥对(如果还没有生成):

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

复制远程机的公钥

cat ~/.ssh/id_rsa.pub

复制输出的公钥内容。

将远程机的公钥添加到本机的 authorized_keys 文件中

echo "远程机的公钥内容" >> ~/.ssh/authorized_keys

替换 "远程机的公钥内容" 为从远程机上复制的公钥内容。

确保正确的权限设置

确保 ~/.ssh 目录及其内容具有正确的权限设置:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

测试 SSH 连接

现在你可以从远程机使用 SSH 密钥认证连接到本机,而无需输入密码。

在远程机上执行以下命令
ssh your_local_user@your_local_host

替换 your_local_useryour_local_host 为本机的用户名和IP地址或主机名。如果一切顺利,你应该能够直接连接到本机而无需输入密码。

完整脚本示例

安装 sshpass

sudo apt-get install sshpass

可以将这些步骤写成一个脚本来简化操作。以下是一个示例脚本:

#!/bin/bash#本地机安装 sudo apt-get install sshpass
# 这个脚本可以用
# 定义远程主机信息
REMOTE_USER="sukai"
REMOTE_PASS="sukai123456"
REMOTE_HOST="10.9.162.109"# 使用sshpass登录远程主机并获取其公钥
REMOTE_PUB_KEY=$(sshpass -p "${REMOTE_PASS}" ssh -o StrictHostKeyChecking=no ${REMOTE_USER}@${REMOTE_HOST} 'cat ~/.ssh/id_rsa.pub')# 检查是否成功获取公钥
if [ -n "$REMOTE_PUB_KEY" ]; thenecho "Successfully retrieved public key from remote host."# 打印公钥echo "Public Key:"echo "${REMOTE_PUB_KEY}"# 追加公钥到本地的 authorized_keys 文件中echo "${REMOTE_PUB_KEY}" >> ~/.ssh/authorized_keysecho "Public key added to local authorized_keys."
elseecho "Failed to retrieve the public key."
fi

修改脚本的地方:

  1. REMOTE_PASSWORD: 将 your_remote_password 替换为你远程机器的密码。

脚本说明:

  • sshpass: 这是一个用于通过非交互式 SSH 登录的工具,它允许你在脚本中提供密码。
  • ssh-keygen: 在远程机上生成 SSH 密钥对,然后将公钥内容获取回来。
  • REMOTE_PUB_KEY: 通过 sshpass 执行 SSH 命令来获取远程机器的公钥。
  • echo "$REMOTE_PUB_KEY" >> ~/.ssh/authorized_keys: 将远程机器的公钥追加写入本机的 authorized_keys 文件。
  • sshpass -p $REMOTE_PASSWORD ssh $REMOTE_USER@$REMOTE_HOST: 最后一行测试 SSH 连接,使用密码验证登录到远程机器。

使用该脚本:

  1. 修改脚本:将 your_remote_useryour_remote_hostyour_remote_password 替换为实际的远程机器用户名、IP 地址或主机名以及密码。

  2. 保存脚本:将上述脚本保存为 add_remote_key_with_password.sh 文件。

  3. 使脚本可执行

chmod +x add_remote_key_with_password.sh

运行脚本

./add_remote_key_with_password.sh

通过这些步骤,你可以将远程机器的公钥添加到本机的 authorized_keys 文件中,实现使用帐号密码进行 SSH 连接。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/41063.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity游戏帧率查看软件Fraps

Download Fraps 3.5.99 free version 下载、安装、运行这个软件,左上角就会自动显示帧率

Java面试八股之MYISAM和INNODB有哪些不同

MYISAM和INNODB有哪些不同 MyISAM和InnoDB是MySQL数据库中两种不同的存储引擎,它们在设计哲学、功能特性和性能表现上存在显著差异。以下是一些关键的不同点: 事务支持: MyISAM 不支持事务,没有回滚或崩溃恢复的能力。 InnoDB…

数据库作业

作业1 alter database zoo default character set gbk collate gbk_chinese_ci; #修改数据库zoo字符集为 gbk create database zoo #创建…

通义千问 Qwen2,登顶国内第一大模型!

大家好,我是煎鱼。 7 月 9 日起,OpenAI 将正式终止对部分地区(包含中国)提供 API 服务,引起业内一片哗然,纷纷开始自检,找新的国内可用的国产化替代方案。 此时我有一个朋友的 Boss,…

【论文阅读】LLM+3D (1)

文章目录 1. 【CoRL 2023】SayPlan: Grounding Large Language Models using 3D Scene Graphs for Scalable Robot Task Planning动机摘要和结论引言模型框架3.1 Problem Formulation3.2 Preliminaries 2. ShapeLLM: Universal 3D Object Understanding for Embodied Interacti…

薄冰英语语法学习--冠词2

a,不定冠词指任何一类人,或者事。 表示某个具体的一个人或者一个物,必须加具体的 其实不用死记,只用记住用来表示一类人,或者一个具体的东西就行了。名词一般都要加冠词 不定冠词 1. 不定冠词指任何一类人、动物或事…

leetcode 403周赛 包含所有1的最小矩形面积||「暴力」

3197. 包含所有 1 的最小矩形面积 II 题目描述: 给你一个二维 二进制 数组 grid。你需要找到 3 个 不重叠、面积 非零 、边在水平方向和竖直方向上的矩形,并且满足 grid 中所有的 1 都在这些矩形的内部。 返回这些矩形面积之和的 最小 可能值。 注意…

【LeetCode】每日一题:跳跃游戏 II

给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j < nums[i] i j < n 返回到达 nums[n - 1] 的最小…

Node.js的下载、安装和配置

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

返回值处理器器【Spring源码学习】

定义返回值类型处理器的组合&#xff1b; public static HandlerMethodReturnValueHandlerComposite getReturnValueHandler(){HandlerMethodReturnValueHandlerComposite composite new HandlerMethodReturnValueHandlerComposite();// 处理ModelAndViewcomposite.addHandle…

Vue3--Watch、Watcheffect、Computed的使用和区别

Vue3–Watch、Watcheffect、Computed的使用和区别 一、watch 1.功能 watch 用于监听响应式数据的变化&#xff0c;并在数据变化时执行特定的回调函数。适合在响应式数据变化时执行异步操作或复杂逻辑。 2.主要特点 指定数据监听&#xff1a;可以精确地监听一个或多个响应式…

python:如何防止隔壁老王破你的WIFI?

Python 与网络安全&#xff1a;最佳拍档 Python 凭借其简洁的语法和丰富的库支持&#xff0c;成为进行网络安全测试和加固的理想选择。下面&#xff0c;我们将深入几个实用场景&#xff0c;看看 Python 如何帮助我们成为自家网络安全的守护者。 1. 网络监控&#xff1a;Scapy…

Elasticsearch实战教程:如何使用集群索引数据来进行统计多个数据?

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引入 Elasticsearch聚合查询是一种强大的工具&#xff0c;允许我们对索引中的数据进行复杂的统计分析和计算。本文将详细解释一…

CFS三层内网渗透——外网打点(一)

目录 外网打点 先爆破一下看看有没有啥可进攻路径 尝试那个可疑的路径发现是thinkphp这个框架&#xff0c;同时也知道了版本&#xff0c;那就nday打吧 写入php ​编辑写入php成功&#xff0c;简简单单nday拿下​编辑 蚁剑rce尝试链接 打点成功 外网打点 先爆破一下看看有…

(自适应手机端)保健品健康产品网站模板下载

(自适应手机端)保健品健康产品网站模板下载PbootCMS内核开发的网站模板&#xff0c;该模板适用于装修公司网站、装潢公司网站等企业&#xff0c;当然其他行业也可以做&#xff0c;只需要把文字图片换成其他行业的即可&#xff1b;自适应手机端&#xff0c;同一个后台&#xff0…

己内酰胺纯化除杂的最佳工艺

己内酰胺纯化除杂的最佳工艺包括结晶法、离子交换树脂法、精馏法和萃取法等&#xff0c;每种方法都有其特定的应用场景和优缺点。以下是对这些方法的详细介绍&#xff1a; 最佳工艺介绍 ● 结晶法&#xff1a;通过调节pH值&#xff0c;使己内酰胺在特定条件下结晶&#xff0…

数字流的秩

题目链接 数字流的秩 题目描述 注意点 x < 50000 解答思路 可以使用二叉搜索树存储出现的次数以及数字的出现次数&#xff0c;方便后续统计数字x的秩关键在于构建树的过程&#xff0c;如果树中已经有值为x的节点&#xff0c;需要将该节点对应的数字出现次数加1&#xf…

2025深圳国际消费电子展览会

2025深圳国际消费电子展览会 时间&#xff1a;2025年06月25-27日 地点&#xff1a;深圳国际会展中心(新馆) 详询主办方陆先生 I38&#xff08;前三位&#xff09; I82I&#xff08;中间四位&#xff09; 9I72&#xff08;后面四位&#xff09; 展会介绍&#xff1a; 20…

JAVA API营业执照识别、企业工商信息查询

现如今&#xff0c;随着互联网技术的不断成熟与智能应用的不断普及&#xff0c;人们对于营业执照识别技术的需求越来越大。像工商、税务、银行、网上注册等一些应用场景在进行经营活动和业务中&#xff0c;都需要对营业执照的信息进行采集和录入&#xff0c;无论是个人业务还是…

父子情深短视频:成都柏煜文化传媒有限公司

成都柏煜文化传媒有限公司 &#xff0c;镜头下的温馨时光 在这个快节奏、高压力的时代&#xff0c;人们往往在忙碌中忽略了身边最珍贵的情感纽带。然而&#xff0c;在社交媒体的浪潮中&#xff0c;有一种短视频以其独特的魅力&#xff0c;悄然温暖了无数人的心房——那就是父…