ubuntu上开启ssh服务,并搭建基于ssh的git服务器

维基百科上SSH的定义如下

Secure Shell(縮寫为SSH),由IETF的網路工作小組(Network Working Group)所制定;SSH為一项建立在应用层和传输层基础上的安全协议,为计算机上的Shell(壳层)提供安全的传输和使用环境。

安装ssh服务器

安装openssh-server

$sudo apt-get install openssh-server

安装成功之后,通过以下命令来确保server已经启动

$sudo start ssh

如果出现以下结果,则说明已经开始运行

start: Job is already running: ssh

安装好openssh-server之后,使用server上已有的用户名和密码就可以用ssh登录到server

例如,如果server有叫lyndon的用户,则用下面的命令就可以实现登录

$ssh [email protected]

但是如果想支持多个用户,则需要添加其它用户

添加用户

具体可参考添加用户

sudo useradd myuser Without a home directory
sudo useradd -m myuser With home directory
sudo passwd myuser Then set the password
sudo usermod -s /bin/bash myuser Then set the shell

SSH keys认证登录

SSH keys allow authentication between two hosts without the need of a password. SSH key authentication uses two keys a private key and a public key.

通过定义可以看出SSH kyes认证用的是非对称加密技术

与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(public key)和私有密钥(private key)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;反之亦然。因为加密和机密使用的是两个不同的密钥,所以这种算法叫做非对称加密算法

非对称加密算法实现机密信息交换的基本过程为:

  1. 甲方生成一对密钥并将其中的一把作为共用密钥向其他方公开
  2. 得到该共用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方
  3. 甲方再用自己保存的另一把专用密钥对加密后的信息进行解密

甲方只能用其专用密钥解密由其共用密钥加密后的信息

使用ssh-keygen生成密钥

使用DSA生成密钥

生成的密钥默认会存放在~/.ssh/目录下

其中public key是~/.ssh/id_dsa.pub,private key是~/.ssh/id_dsa

向乙方发送公共密钥

$ssh-copy-id [email protected]

发送到乙方的公钥会存放在乙方的.ssh/authorized_keys这个文件中

所以为了安全,我们需要修改权限

$sudo chmod 600 .ssh/authorized_keys

安装git

$sudo apt-get install git

初始化仓库

$git init --bare ~/Public/lyndonrepo.git

git的remote仓库已经在服务器创建完成。

克隆仓库

回到客户端,通过以下命令就可以clone仓库了

$git clone [email protected]:~/Public/lyndonrepo.git myrepo

ubuntu上开启ssh服务,并搭建基于ssh的git服务器

时间: 2024-10-13 10:04:36

ubuntu上开启ssh服务,并搭建基于ssh的git服务器的相关文章

Windows 7下 搭建 基于 ssh 的sftp 服务器

Windows  xp 下 搭建 基于  ssh 的sftp 服务器,服务器端可以用 freesshd,F-secure server等,filezilla server不可用,之前傻乎乎的用filezilla 来做服务器,找不到任何有关sftp的配置选项,推荐用freesshd,免费.简单,直观,客户端可以用一般的支持sftp的都可以,filezilla,f-secure client 等,我用freesshd和filezillazilla 搭建sftp 服务,我在内网搭建的,如果在外网发布,

华为5700上开启DHCP服务

在华为5700上开启DHCP服务 1.dhcp enable    开启DHCP服务 2.ip pool office    建立地址池 3.network 192.168.0.0 mask 24    增加网络 4.gateway-list 192.168.0.50 6.dns-list 8.8.8.8 114.114.114.114 7.excluded-ip-address 192.168.0.1 192.168.0.49 8.lease day 8 hour 0 minute 0 ip

Ubuntu 上 hi3531 交叉编译环境 arm-hisiv100nptl-linux 搭建过程

; font-family:Arial,Console,Verdana,'Courier New'"> ubuntu12.04arm-linux-gcc 安装环境 Linux版本:Ubuntu 12.04    内核版本:Linux 3.5.0   交叉编译器版本:arm-linux-gcc-4.4.3 这个版本的交叉编译器我已经上传到了资源上,可以随便下载,点此下载 安装前的絮叨 首先简单介绍一下,所谓的搭建交叉编译环境,即安装.配置交叉编译工具链.在该环境下编译出嵌入式Linux系统所

linux学习笔记——搭建基于nginx的web服务器、多核配置、nginx配置参数

############ 认识nginx #############Nginx:(发音同 engine x)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler(俄文:Рамблер)使用.  其优点是轻量级(占有内存少),高并发(并发能力强),事实上nginx的并发能力确实在同类型的网页伺服器中表现较好.目前中国大陆使用ngi

Redhat 5 搭建基于 ftp 的 yum 服务器

YUM是Yellow dog Updater, Modified的缩写,是由Duke University所发起的计划,目的就是为了解决RPM的依赖关系的问题,方便使用者进行软件的安装.升级等等工作.在此在特别说明的是,YUM只是为了解决RPM的依赖关系的问题,而不是一种其它的软件安装模式.而在redhat系统中未经授权是无法使用yum的,这里就介绍一种利用redhat光盘搭建本地yum服务器的方法. 系统环境:  Red Hat 5.9 Server IP: 192.168.100.211 C

Windows下基于http的git服务器搭建-gitstack

版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Windows下基于http的git服务器搭建-gitstack     本文地址:http://techieliang.com/2017/12/514/ 文章目录 1. 下载安装 2. 注意  2.1. 关于Python冲突问题  2.2. gitstack密码重置 3. gitstack与wamp冲突 1. 下载安装 官网下载即可 安装流程也很简洁方便.安装步骤 安装完成后可通过管理地址

ubuntu 16.04 nfs服务的搭建

nfs服务是实现Linux和Linux之间的文件共享,nfs服务的搭建比较简单. 现在介绍如何在ubuntu16.04系统中搭建nfs服务,ubuntu的搭建比红帽的还要简单. 1.安装nfs服务 sudo apt install nfs-common 2.修改配置文件 sudo vim /etc/exports 修改内容如下: /home *(rw,sync,no_root_squash) 各段表达的意思如下,根据实际进行修改 /home :共享的目录 * :指定哪些用户可以访问 * 所有可以

Ubuntu上hi3531交叉编译环境arm-hisiv100nptl-linux搭建过程

安装SDK 1.Hi3531 SDK包位置 在"Hi3531_V100R001***/01.software/board"目录下,您可以看到一个 Hi3531_SDK_Vx.x.x.x.tgz 的文件, 该文件就是Hi3531的软件开发包. 2.解压缩SDK包 在linux服务器上(或者一台装有linux的PC上,主流的linux发行版本均可以),使用命令:tar -zxf Hi3531_SDK_Vx.x.x.x.tgz , 解压缩该文件,可以得到一个Hi3531_SDK_Vx.x.x

ubuntu 下安装ssh服务,并修改ssh端口

1. 安装ssh服务: sudo apt-get install openssh-server 安装ssh-client sudo apt-get install openssh-client 2. 确认ssh是否安装好 ps -e | grep sshd450 ?        00:00:00 sshd 如果看到sshd说明ssh服务已经启动了 如果没有启动: /etc/init.d/ssh start 3. 修改ssh端口 ssh默认端口22,我们修改为22000 修改步骤: a> vi