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

// // Leave a Comment

Ket noi GIT server bang 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.
II. Tao SSH Key tren Server:
Dung lenh sau de kiem tra file authorized_keys co trong folder ssh ko
root@gitserver:/var/cache/git/ssh-project# ls -al ~/.ssh/
total 8
drwx------ 2 root root 4096 Jun  9 09:27 .
drwx------ 5 root root 4096 Jun 10 09:10 ..
-rw-r--r-- 1 root root    0 Jun  9 09:27 authorized_keys
Neu chua co ta phai tạo thư mục .ssh và 1 file authorized_keys bên trong
# mkdir ~/.ssh
# touch ~/.ssh/authorized_keys
Sau khi tao xong ta phan quyen cho folder va file nay:
root@gitserver:/var/cache/git/ssh-project# chmod 700 ~/.ssh/
root@gitserver:/var/cache/git/ssh-project# chmod 600 ~/.ssh/authorized_keys
HOac dung 1 lenh:
chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
III. Copy public_key cua CLient cho Server:
thehai@thehai-Vostro-3550:~/.ssh$ cat ~/.ssh/id_rsa.pub | ssh root@haiquynh.com "cat >> .ssh/authorized_keys"
Chu y: ta dang su dung acc root, rat nguy hiem, trong truong hop nay ta co the tao 1 user khac:
Trên Server tạo 1 user git:
useradd git
passwd git
Trên server, đăng nhập bằng tài khoản git
su -s /bin/bash - git
Thu kiem tra lai tren Server:
root@gitserver:/var/cache/git/ssh-project# cat ~/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVmT9ubCMgUjJRJfdlbbdudYQWUcnmi4+a43z/TSwu27MlgOnyrYksc1E1hkI2TrXUj6TezGJS9LMNlqtKSrTjCQH7P6MzH3XFvPIdxvs4CC+vn278aEbBeT6A4usU2fDyLmn4qFli3zpSwjmBB+f5vtasfv3S/82dgO54waDslvEEuiCFvv9h7zo3QX6We00n24lBJ70fosQTCEVgIfPe94P3OH+7H2DeiYrb+34WyA1+I7/O2q+loJ64IoLDDLCdieLRB8B284MhzVzx+yICZTUvUSNXLJ67zSbG59ZfhVg+jbiU7+XiWphlkMQvHY4jM2VJUMG5k2mii5F0gAa5 hai991dk
IV. Tao 1 project:
root@gitserver:~# mkdir /var/cache/git/ssh-project
root@gitserver:~# cd /var/cache/git/ssh-project
root@gitserver:/var/cache/git/ssh-project# git --bare init
Initialized empty Git repository in /var/cache/git/ssh-project/
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.