使用cvs本身基於pserver的遠端認證很麻煩,需要定義伺服器和使用者組,使用者名稱,設定密碼等,
常見的登陸格式如下:
cvs -d :pserver:[email protected]:/path/to/cvsroot login
例子:cvs -d :pserver:[email protected]:/cvsroot login
不是很安全,因此一般是作為匿名唯讀cvs訪問的方式。從安全考慮,通過系統本地帳號認證並通過ssh傳輸是比較好的辦法,通過在客戶機的 /etc/profile裡設定一下內容:
cvsroot=:ext:[email protected]#port:/path/to/cvsroot
cvs_rsh=ssh
export cvsroot cvs_rsh
所有客戶機所有本地使用者都可以對映到cvs伺服器相應同名帳號了。
比如:cvs伺服器是192.168.0.3,上面cvsroot路徑是/home/cvsroot,另外一台開發客戶機是192.168.0.4,如果 tom在2臺機器上都有同名的帳號,那麼從192.168.0.4上設定了:
export cvsroot=:ext:[email protected]:/home/cvsroot
export cvs_rsh=ssh
tom就可以直接在192.168.0.4上對192.168.0.3的cvsroot進行訪問了(如果有許可權的話)
cvs checkout project_name
cd project_name
cvs update
...cvs commit
如果cvs所在伺服器的ssh埠不在預設的22,或者和客戶端與cvs伺服器端ssh預設埠不一致,有時候設定了:
:ext:[email protected]#port:/path/to/cvsroot
仍然不行,比如有以下錯誤資訊:
ssh: test.server.address#port: name or service not known
cvs [checkout aborted]: end of file from server (consult above messages if any)
解決的方法是做乙個指令碼指定埠轉向(不能使用alias,會出找不到檔案錯誤):
建立乙個/usr/bin/ssh_cvs檔案,假設遠端伺服器的ssh埠是非預設埠:34567
#!/bin/sh
/usr/bin/ssh -p 34567 "$@"
然後:chmod +x /usr/bin/ssh_cvs
並cvs_rsh=ssh_cvs; export cvs_rsh
注意:port是指相應伺服器ssh的埠,不是指cvs專用的pserver的埠
CVS的遠端認證通過SSH遠端訪問CVS
使用cvs本身基於pserver的遠端認證很麻煩,需要定義伺服器和使用者組,使用者名稱,設定密碼等,常見的登陸格式如下 cvs d pserver cvs user name cvs.server.address path to cvsroot login 例子 cvs d pserver cvs ...
通過SSH連線遠端主機
要通過終端連線乙個遠端主機,正常的配置是直接在命令列中 ssh user 192.168.1.1 然後輸入秘密就好了.如果想通過ssh的方式進行免密碼登入,就要進行一定的配置.這裡的環境是mac linux之間的連線,首先通過命令列生成ssh密匙.一般在home目錄下的.ssh資料夾 隱藏 生成密匙...
通過SSH隧道遠端辦公
ssh不僅可以用於遠端主機登入,還可以作為 也就是ssh隧道。具體場景如下圖,客戶端可以ssh登入到外網伺服器,外網伺服器與內網伺服器可以網路連線,但客戶端與內網伺服器無法網路連線。此時就可以通過ssh隧道,將客戶端的請求通過外網伺服器 到內網伺服器,再將請求返回給客戶端,實現客戶端與內網伺服器的網...