CVS的遠端認證通過SSH遠端訪問CVS

2021-08-22 04:20:23 字數 1378 閱讀 7289

使用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隧道,將客戶端的請求通過外網伺服器 到內網伺服器,再將請求返回給客戶端,實現客戶端與內網伺服器的網...