第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

像海泡石這樣的程序是如何工作的?

像海泡石這樣的程序是如何工作的?

像海泡石這樣的程序是如何工作的?我很好奇像gitellite這樣的程序是如何工作的-特別是它們?nèi)绾闻cSSH協(xié)議交互,從而提供量身定制的體驗(yàn)。有人能給我舉個(gè)例子,說明我如何完成以下這些任務(wù),以及在哪里可以了解到更多關(guān)于這個(gè)主題的知識(shí)?→ ssh git@github.com PTY allocation request failed on channel 0 Hi <username>! You've successfully authenticated, but GitHub does not provide shell access. Connection to github.com closed.一個(gè)附帶的問題:我的主要語言是JavaScript。有可能用NodeJS實(shí)現(xiàn)我想要的嗎?
查看完整描述

3 回答

?
一只斗牛犬

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超2個(gè)贊

海泡石本身就是一種授權(quán)層,它不需要ssh。
它只需要知道正在調(diào)用它,以便授權(quán)或不授權(quán)該人執(zhí)行g(shù)it命令。

SSH用于身份驗(yàn)證(但您也可以使用http Apache進(jìn)行身份驗(yàn)證)

海泡石由ssh命名的方式在“海泡石和石英石“,并使用ssh機(jī)制。強(qiáng)制命令:


這個(gè)~/.ssh/authorized_keys(在gitite ssh服務(wù)器上)如下所示:

command="[path]/gitolite-shell sitaram",[more options] ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA18S2t...
command="[path]/gitolite-shell usertwo",[more options] ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArXtCT...

首先,它會(huì)發(fā)現(xiàn)該文件中的哪個(gè)公鑰與傳入的登錄名匹配。一旦找到火柴,它將運(yùn)行該行上的命令。例如,如果我登錄,它就會(huì)運(yùn)行[path]/gitolite-shell sitaram.
所以首先要注意的是,這樣的用戶沒有獲得“shell訪問”,這是很好的!

(強(qiáng)制命令=沒有交互式shell會(huì)話*它只會(huì)提供一個(gè)限制殼,只執(zhí)行一個(gè)腳本,始終相同)

但是,在運(yùn)行命令之前,sshd設(shè)置一個(gè)環(huán)境變量,稱為SSH_ORIGINAL_COMMAND,其中包含實(shí)際的git您的工作站發(fā)出的命令。
如果您沒有command=在授權(quán)的密鑰文件中。

什么時(shí)候gitolite-shell獲取控件時(shí),它將查看第一個(gè)參數(shù)(“sitaram", "usertwo“,等等)以確定您是誰。然后查看SSH_ORIGINAL_COMMAND變量來查找要訪問的存儲(chǔ)庫,以及您是在讀還是寫。

現(xiàn)在它已經(jīng)請(qǐng)求的用戶、存儲(chǔ)庫和訪問(讀/寫),gitite查看其配置文件,并允許或拒絕請(qǐng)求。

事實(shí)上authorized_keys調(diào)用Perl腳本(gitolite-shell)是因?yàn)镚itite是用Perl編寫的。
它很可能調(diào)用javascript程序。


如果您在GitHub上的ssh沒有任何命令,您就會(huì)收到一條問候語,就像您在問題中提到的那樣。
Gitite顯示類似的消息,詳見print_version()的功能info命令腳本:

sub print_version {
    chomp( my $hn = `hostname -s 2>/dev/null || hostname` );
    my $gv = substr( `git --version`, 12 );
    $ENV{GL_USER} or _die "GL_USER not set";
    print "hello $ENV{GL_USER}, this is " . ($ENV{USER} || "httpd") . "\@$hn running gitolite3 " . version() . " on git $gv\n";
}

這條信息看起來是:

hello admin, this is git@server running gitolite3 v3.0-12-ge0ed141 on git 1.7.3.4


查看完整回答
反對(duì) 回復(fù) 2019-06-24
?
MYYA

TA貢獻(xiàn)1868條經(jīng)驗(yàn) 獲得超4個(gè)贊

請(qǐng)注意,sshd對(duì)~/.ssh/Authorted_Key文件進(jìn)行線性掃描。一旦你在里面得到了大約3000個(gè)密鑰,那些密鑰出現(xiàn)在文件后面的人就會(huì)開始注意到延遲-它開始超過網(wǎng)絡(luò)延遲:-)

這就是為什么GitHub有自己的SSHD補(bǔ)丁版本的原因之一。他們有太多的用戶能夠管理正常的SSHD!


查看完整回答
反對(duì) 回復(fù) 2019-06-24
?
縹緲止盈

TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個(gè)贊

基本步驟是:

  1. 檢查試圖登錄的人的公鑰
  2. 將公鑰映射到訪問控制列表。

換句話說,要使這些事情起作用,您必須從用戶那里獲取公鑰,然后生成一個(gè)列表(文件、數(shù)據(jù)庫等),該列表將密鑰與用戶和權(quán)限配對(duì)。


查看完整回答
反對(duì) 回復(fù) 2019-06-24
  • 3 回答
  • 0 關(guān)注
  • 611 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)