Linux 中的公钥和私钥应用
来源:互联网 发布:java websocket服务器 编辑:程序博客网 时间:2024/06/12 22:26
(一)公钥私钥处理机制
(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_keyschmod 600 authorized_keys
5.重启sshd服务
service sshd restart(三) 搭建自己的git 服务器
(1)centos 上安装git
(2)配置git 用户并且设置密码
useradd -m gitpasswd git //
(3)git 仓库目录创建,并且添加权限控制
mkdir /home/git/repositories # 最好使用repositories作为文件夹名称,这样可以简化后面的操作chown git:git /home/git/repositories
chmod 755 /home/git/repositories
(4) 初始化仓库
su gitcd /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
- Linux 中的公钥和私钥应用
- linux中的调度策略和优先级应用
- Redis 在windows和linux中的安装和应用.
- ethtool 在 Linux 中的实现框架和应用
- ethtool 在 Linux 中的实现框架和应用
- ethtool 在 Linux 中的实现框架和应用
- ethtool 在 Linux 中的实现框架和应用
- ethtool 在 Linux 中的实现框架和应用
- ethtool 在 Linux 中的实现框架和应用
- ethtool 在 Linux 中的实现框架和应用
- ethtool 在 Linux 中的实现框架和应用
- ethtool 在 Linux 中的实现框架和应用
- ethtool在 Linux 中的实现框架和应用
- Linux/Unix中的SUID和SGID文件权限和在CVS项目管理中的应用
- 网络安全中的公钥和私钥
- php中的公钥和私钥
- Linux在电影业中的应用
- 变量在Linux中的应用
- ios消息推送全面解析和push证书的生成
- moodle的中文日历乱码问题
- CFtpConnection::GetFile()下载FTP服务器文件及相关参数说明
- Win32API调用错误号与信息(1000-1999)
- Android开发存储方式详解
- Linux 中的公钥和私钥应用
- Python数据类型和语法
- svn 批量删除文件.svn
- NFC 学习总结(下)
- hdoj 发工资
- 更改vs2008项目名称
- Android 编程下的代码混淆
- 使用Vitamio打造自己的Android万能播放器(3)——本地播放(主界面、播放列表)
- 创建一个可执行的python脚本