Linux 中的公钥和私钥应用

(一)公钥私钥处理机制 

(1)原理 

 1.非对称密钥就是一对密钥-公钥和私钥。  

 2.私钥由系统中每个人自己持有,一般保存在自己的电脑里或u盘里。  
 3.公钥则在网络上传递,就是可以传递给通信中的对方,也就意味这可以被黑客截获。  
 4.用某个人的私钥加密的数据只有用那个人的公钥解密,同样用公钥加密的数据也只有用私钥解密。  
ssh-keygen 创建公钥和密钥。 
ssh-copy-id 把本地主机的公钥复制到远程主机的authorized_keys文件上。
ssh-copy-id 也会给远程主机的用户主目录(home)和~/.ssh, 和~/.ssh/authorized_keys设置合适的权限 。
(2)创建具体步骤 :
(1) 在本地主机上创建公钥和密钥 ssh-key-gen
(2)用ssh-copy-id 把本地公钥复制到远程主机上 
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.3
(3) 登录 

(二) 使用SecureCRT设置linux系统登录的ssh公钥认证

1.修改ssh配置文件/etc/ssh/sshd_config
RSAAuthentication yes                             //使用RSA加密算法
PubkeyAuthentication yes                         //使用公钥认证
AuthorizedKeysFile     .ssh/authorized_keys     //允许的公钥存放的文件,放在用户主目录下
PasswordAuthentication no                      //禁止密码验证登录,如果启用的话,RSA认证登录就没有意义
2 生成公钥/密钥对
  使用SecureCRT的"工具->创建公钥" 即可,加密算法选择RSA,因为sshd配置文件中选择了RSA算法
   生成密钥文件Identity和公钥文件Identity.pub。其间会提示输入通行短语,用于保护密钥,需要记住,以后每次连接时使用。也可以为空。
3.上传公钥
将公钥Identity.pub上传到ssh服务器系统的/home/user/.ssh内,我是使用root账号的,
所以路径为/root/.ssh,如果没有.ssh目录,自行创建.ssh文件夹
4.openssh不支持SecureCRT生成的密钥格式,需要进行类型转换:
ssh-keygen -i -f Identity.pub >>authorized_keys
chmod 600 authorized_keys
5.重启sshd服务
service sshd restart

(三) 搭建自己的git 服务器

(1)centos 上安装git 
(2)配置git 用户并且设置密码
useradd -m git  
passwd git   // 
(3)git 仓库目录创建,并且添加权限控制 
mkdir /home/git/repositories # 最好使用repositories作为文件夹名称,这样可以简化后面的操作  
chown git:git /home/git/repositories  
chmod 755 /home/git/repositories  
(4) 初始化仓库
su git  
cd /home/git/repositories
mkdir test
    cd code  
git --bare init    // 初始化仓库
(5) 客户端测试 
  git clone git@120.27.32.48:/home/git/repositories/test     
(6) 为了省去每次都要输入密码,采用公钥形式

(1) 在本地主机上创建公钥和密钥
使用git 客户端  ssh-keygen -t rsa 
此时会在 C:\Users\PA\.ssh  生成 id_rsa(私钥) id_rsa.pub(公钥)
(2)服务器
把公钥上传到服务器中 /tmp/id_rsa.pub  ,  cat id_rsa.pub >  /home/git/repositories/test/.ssh/authorized_keys

(6)
打开文件/etc/ssh/sshd_config
RSAAuthentication yes            #开启RSA认证功能
PubkeyAuthentication yes      #开启公匙认证
StricModes no                          #据说不改会强制要求登录用户和文件拥有者用户相同
/data1/www/code/code/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值