五、远程仓库
五、远程仓库
5.1、ssh远程连接
5.1.1、ssh命令
ssh命令是openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器,实现对服务器的远程管理。
简单说,SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑。1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置。
SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP 22端口),包括公共秘钥等交换等信息。
ssh服务端由2部分组成: openssh(提供ssh服务) openssl(提供加密的程序)
- 检查主机上有没有安装SSH服务,使用命令:ssh 若提示命令未找到,则需要安装ssh服务;步骤如下:输入sudo apt-get update命令以实现更新Ubuntu系统–>输入sudo apt-get install openssh-server命令以安装ssh 若输出ssh命令的使用说明,则代表已经安装了。
- 检查主机上有没有启动SSH服务,使用命令:service –status-all | grep ssh 若服务已经启动的话,可以看到[+] ssh 若服务还没启动的话,可以看到[-] ssh
- 启动ssh服务,使用命令sudo service sshd start
5.1.2、SSH远程登录之口令登录
ssh 用户名@IP地址 -p 端口号
SSH的默认端口是22
5.1.3、SSH远程登录之免密登录(密钥登录)
(1)客户端生成公私钥
ssh-keygen -t rsa
linux下:运行结束以后,在$HOME/.ssh/目录下,会新生成两个文件:id_rsa.pub和id_rsa。前者是你的公钥,后者是你的私钥。
如果是window:
(2)公钥传到连接服务器
方式1:命令操作:
使用模式:
ssh-copy-id [-i [identity_file]] [user@]machine // -i:指定公钥文件
把本地的ssh公钥文件安装到远程主机对应的账户下:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server
方式2(手动操作):
首先在主机A上执行命令
scp .ssh/id_rsa.pub user@server:~/home
命令执行成功后会将主机A的公钥传到主机B的家目录里。
切换到主机B,命令行执行
cat ~/home/id_rsa.pub >> ~/.ssh/authorized_keys
将主机A的公钥添加到主机B的授权列表中。
5.2、远程仓库介绍
我们做开发的时候,写程序,可能会有多个⼈⼀起开发,或者你⾃⼰有多个电脑,家⾥⼀个电脑,办公 室⼀个电脑,但是你如果刚开始的代码都是在家⾥的电脑写的,然后你到了公司,你想继续开发你的程 序,那么就需要你⾃⼰来回的拷⻉⾃⼰的代码,并随身携带,⾮常麻烦,你说对不对,所以现在就出现 了代码⽹络托管站(就类似于⾏李托管站⼀样),可以帮你保存你的代码,以及各个版本的代码和所有分 ⽀,这样的话,你在家⾥开发完了之后,把代码放到托管站,就不⽤⾃⼰随身携带了,等你到了公司, 使⽤公司的电脑开发的时候,就可以直接通过⽹络托管站把⾃⼰已经开发好的代码拉下来到⾃⼰的本 机,然后继续开发,开发完了之后,在交给托管站托管,这样就⽅便多了,有很多这样的托管站,⽐如 今天我们要说的GIthub,码云,还有GitLab、开源中国、CSDN等都在做代码托管平台。
使⽤码云有这么⼏步:
- 注册码云账号
- 创建仓库
- 本地代码推送到仓库
5.3、在gitee平台创建工程
(1)创建仓库
(2)仓库生成后的介绍
Git 全局设置:
git config --global user.name "xxxx"
git config --global user.email "xxxxx@163.com"
创建 git 仓库:
mkdir apple-pro
cd apple-pro
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin git@gitee.com:pythonyuan/apple-pro.git
git push -u origin "master"
已有仓库?
cd existing_git_repo
# git remote -v # 查看当前origin
# git remote remove # 删除绑定origin
# git remote add origin git@gitee.com:pythonyuan/apple-pro.git // 配置密钥,免密登录
git remote add origin https://gitee.com/pythonyuan/apple-pro.git # 输入用户名密码
git push -u origin "master"
关联远程库:git remote add origin(可修改) branch_Name(为空时默认为master) url。关联之后可以用git remote -v 来检查是否关联成功
push到远程库:git push -u origin master
当关联http方式时需要填用户名密码(如果在git bash中会将用户名密码配置在window凭据中,第二次则不需要再输入用户名密码,如果没有这个动作则需要每次登录都要重复输入用户名和密码),ssh方式需要密钥方式登录。
5.4、免密码登录
ssh-keygen
1、在
C:\Users\Administrator\.ssh
路径下生成公私钥文件2、将公钥字符串注册到码云公钥位置
将C:\Users\Administrator\.ssh
中的id_rsa.pub
的公钥拷贝到码云中的ssh的公钥中,标题会自动生成!
配置好之后在提交push命令就不需要单独输入码云的用户名和密码了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!