Thứ Năm, 19 tháng 6, 2014

// // Leave a Comment

GIT Server toàn tập - Kết nối SSH

I. Tao 1 SSH Key tren CLient:
Để kiểm tra máy tính đã cài ssh chưa bạn mở terminal và sử dụng lệnh:
thehai@thehai-Vostro-3550:~/.ssh$ ssh -v
OpenSSH_5.9p1 Debian-5ubuntu1.4, OpenSSL 1.0.1 14 Mar 2012
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-e escape_char] [-F configfile]
           [-I pkcs11] [-i identity_file]
           [-L [bind_address:]port:host:hostport]
           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
           [-R [bind_address:]port:host:hostport] [-S ctl_path]
           [-W host:port] [-w local_tun[:remote_tun]]
           [user@]hostname [command]
Tiếp theo, chúng ta sẽ kiểm tra máy đã có ssh key chưa:
thehai@thehai-Vostro-3550:~/.ssh$ ls -a ~/.ssh/
Trong trường hợp này là ssh key chưa được tạo. Nếu máy bạn đã có ssh key thì sẽ tồn tại 2 file id_* trong máy như trường hợp dưới đây:
thehai@thehai-Vostro-3550:~/.ssh$ ls -a ~/.ssh/
.  ..  id_rsa  id_rsa.pub  known_hosts  known_hosts.old
Nếu chưa có ssh key ta sẽ tạo ssh key bằng lệnh:
#ssh-keygen -t rsa -C "your-email-here"
Hoac:
#ssh-keygen
Chấp nhận thư mục mặt định để đặt ssh key.
Sau đó nếu nó hỏi password thì bạn có thể bỏ trống và hoặc password mà bạn muốn.
III. Cai dat git: git, gitweb, git-core...
II. Trên Server tạo 1 user git:
#useradd git
#passwd git
IV: Ta sẽ chuyển file id_rsa.pub tu CLient lên server:
DAng nhap bang tai khoan git vua tao
su -s /bin/bash - git (Ap dung cho Server)
hoac:
thehai@thehai-Vostro-3550:~$ ssh git@192.168.1.100 (AP dung cho CLient)
Tao thu muc luu tru va phan quyen:
git@serverwise:~$ mkdir ~/.ssh
git@serverwise:~$ touch ~/.ssh/authorized_keys
git@serverwise:~$ chmod 700 ~/.ssh/
git@serverwise:~$ chmod 600 ~/.ssh/authorized_keys
Tren CLient bat dau sao chep key:
thehai@thehai-Vostro-3550:~$ cat .ssh//id_rsa.pub | ssh git@192.168.1.100 "cat >> /home/git/.ssh/authorized_keys"
git@192.168.1.100's password:
Kiem tra lai:
root@serverwise:~# cat /home/git/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhhIw8HiEqYUmwouIQc+2gv02g2KuzV+i+plgvuFZ4ihCHL3NNyOYGbIIoFe2KcEQ1PE+B9g+3R6x9zvddYh22LkfR1QlpAXQIRT8OFAmQNrOokMb+j4IAGsBY+vbarEUD10Z/Rnb+LurlvMHkOY4qSIXTjeitLWKQyeqhtIrNIF6eawfKTOaO9pWUwykVDAXdSOpHYndizEDzcRmPop1mdduZAIwaHZ+b1e9xQjjsYdws6yY7ME8mo1KATkpnsBbLUgpIT00hvy0+H8INncKVdeLxCgf+iq1Yh+mVatfyGRbt2fLuv/4jlIUfxsK00aI2QcBql9w/9A/tKt8SXM7P thehai@thehai-Vostro-3550
IV. Tao 1 project:
root@serverwise:~# mkdir /var/cache/git/project001
root@serverwise:~# cd /var/cache/git/project001
root@serverwise:/var/cache/git/project001# git --bare init
Initialized empty Git repository in /var/cache/git/project001/
Set quyen truy cap:
root@serverwise:~# chown git /var/cache/git/ -R
VII: WORKING:
1. Bat dau moi:
thehai@thehai-Vostro-3550:~/Desktop$ mkdir my-project001
thehai@thehai-Vostro-3550:~/Desktop$ cd my-project001/
thehai@thehai-Vostro-3550:~/Desktop/my-project001$ git init
Initialized empty Git repository in /home/thehai/Desktop/my-project001/.git/
thehai@thehai-Vostro-3550:~/Desktop/my-project001$ git remote add origin ssh://git@192.168.1.100/var/cache/git/project001
Co the su dung lenh:
thehai@thehai-Vostro-3550:~/Desktop/my-project001$ git remote add origin ssh://git@git.wiserobot.loc/var/cache/git/project001
thehai@thehai-Vostro-3550:~/Desktop/my-project001$ git remote add origin ssh://git.wiserobot.loc/var/cache/git/project001
thehai@thehai-Vostro-3550:~/Desktop/my-project001$ echo "the hai truong" >> file-test.txt
thehai@thehai-Vostro-3550:~/Desktop/my-project001$ git add file-test.txt
thehai@thehai-Vostro-3550:~/Desktop/my-project001$ git commit -m "Test ssh"
[master (root-commit) 0d55d0f] Test ssh
 1 file changed, 1 insertion(+)
 create mode 100644 file-test.txt
thehai@thehai-Vostro-3550:~/Desktop/my-project001$ git push origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 229 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To ssh://git@192.168.1.100/var/cache/git/project001
 * [new branch]      master -> master
 THay doi noi dung va test:
 thehai@thehai-Vostro-3550:~/Desktop/my-project001$ nano file-test.txt
thehai@thehai-Vostro-3550:~/Desktop/my-project001$ git add -A
thehai@thehai-Vostro-3550:~/Desktop/my-project001$ git commit -a -m "Commit lan 2"
[master 00128dd] Commit lan 2
 1 file changed, 1 insertion(+)
thehai@thehai-Vostro-3550:~/Desktop/my-project001$ git push origin
Counting objects: 5, done.
Writing objects: 100% (3/3), 264 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To ssh://git@192.168.1.100/var/cache/git/project001
   0d55d0f..00128dd  master -> master
thehai@thehai-Vostro-3550:~/Desktop/my-project001$
2. Neu da ton tai san 1 project:
Da ton tai 1 repo tren local, va muon day no len:

==================================================
V. Ket noi:
thehai@thehai-Vostro-3550:~/Desktop$ git clone ssh://git.haiquynh.com/var/cache/git/ssh-project
Cloning into 'ssh-project'...
thehai@git.haiquynh.com's password:
Permission denied, please try again.
BI loi cmnr
Thu dung lenh nay xem sao: - thanh cong nha
git clone ssh://root@git.haiquynh.com/var/cache/git/ssh-project
thehai@thehai-Vostro-3550:~/Desktop$ git clone ssh://root@git.haiquynh.com/var/cache/git/ssh-project
Cloning into 'ssh-project'...
warning: You appear to have cloned an empty repository.
thehai@thehai-Vostro-3550:~/Desktop$ ls
Data~  haiquynh.co  ssh-project  test000003  vemaybay  wptheme
thehai@thehai-Vostro-3550:~/Desktop$ cd ssh-project/
thehai@thehai-Vostro-3550:~/Desktop/ssh-project$ ls -a
.  ..  .git
thehai@thehai-Vostro-3550:~/Desktop/ssh-project$ touch readme.txt
thehai@thehai-Vostro-3550:~/Desktop/ssh-project$ git add readme.txt
thehai@thehai-Vostro-3550:~/Desktop/ssh-project$ git commit -m "Xem di" readme.txt
[master (root-commit) 16f4502] Xem di
 0 files changed
 create mode 100644 readme.txt
thehai@thehai-Vostro-3550:~/Desktop/ssh-project$ git push origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 211 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To ssh://root@git.haiquynh.com/var/cache/git/ssh-project
 * [new branch]      master -> master
VI. 

0 nhận xét:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.