使用sshkey,禁用密码登陆,以及git仓库的搭建
2024-09-24 01:41:24
使用sshkey,可以实现免密码登陆服务器,同时关闭ssh service的使用账号密码登陆功能即可
1、首先在客户机添加sshkey(如果是window系统的话需要安装shell终端工具,例如xshell,gitbash等)
ssh-keygen -t rsa -C 'email@sample.com'
#之后会在用户目录下生成一个.ssh目录,里面有“id_rsa”私钥(之前的命令生成的rsa算法加密的key)、“id_rsa.pub”公钥,私钥保存在客户端,公钥保存到服务端即可
2、在服务端的对应用户目录下的.ssh/authorized_keys文件下添加客户端的公钥,每行一个即可。如果authorized_keys原来不存在,新建该文件将拷贝内容放入即可(或者在其他用户的.ssh目录下看看有没有)
3、修改服务端对应用户的相应文件的权限:(改成一致即可,尽量不要多也不要少)
$ls -la /home/username
drwx--x--x 9 username username 4096 May 11 10:09 username
$ls -la /home/username/.ssh
-rw-r--r-- 1 username username 797 May 11 10:09 authorized_keys
$ls -la /home/username
drwx------ 2 username username 4096 May 11 10:09 .ssh
4、关闭ssh server的使用账号密码登陆功能
修改/etc/ssh/sshd_conf文件,将PasswordAuthentication修改为no
5、重启ssh service
sudo service ssh restart
git库的搭建,以上所做的一切都是为了服务于下面的操作
1、首先,生成一个git仓库
$ sudo git init --bare test.git
Initialized empty Git repository in /home/username/test.git/ #提示初始化了一个空的git仓库
$ ls test.git
branches config description HEAD hooks info objects refs #该目录下的内容
$ sudo chown -R username:username test.git #修改该目录的owner和group为username
2、禁用该用户的shell登陆(前提是这个用户创建就是为了git,不对系统进行登陆)
修改/etc/passwd
username:x:1001:1001:,,,:/home/username:/bin/bash
改为:
username:x:1001:1001:,,,:/home/username:/usr/bin/git-shell
3、正常使用git
$ git clone username@server:/home/username/sample.git
最新文章
- UWP深入学习六:Build better apps: Windows 10 by 10 development series
- Erlang高阶函数
- 重新理解:ASP.NET 异步编程(转)
- 滚动光效shader
- Eclipse管理Java工程(j2se/j2ee/maven)
- 【uva】1220 Party at Hali-Bula
- 【网络流24题】No.9 方格取数问题 (二分图点权最大独立集)
- A Statistical View of Deep Learning (I): Recursive GLMs
- Arduino 数码管LED驱动 数组法
- 修改jsonb的属性
- JAVA基础--IO流
- ASP.NET MVC4在部署IIS后,运行时显示的是整个Web的目录列表
- LeetCode - 503. Next Greater Element II
- Codeforces Round #531 (Div. 3)
- python 文件读写模式r,r+,w,w+,a,a+的区别(附代码示例)
- EOS开发基础之二:使用cleos命令行客户端操作EOS(钱包wallet基础操作)
- [Module] 03 - Software Design and Architecture
- Android事件分发机制源码分析
- 矩阵快速幂模板(pascal)
- NGUI Tutorial 4 ScrollView