使用sshkey,禁用密碼登陸,以及git倉庫的搭建



使用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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM