可以使用Telnet、Rlogin、Rsh、Rcp等命令來實(shí)現(xiàn)遠(yuǎn)程使用Linux。但是,這些方法在傳輸過程中是沒有加密的,可能帶來許多不安全因素。因此,應(yīng)盡量避免遠(yuǎn)程使用Root賬戶登錄系統(tǒng)。
創(chuàng)新互聯(lián)建站擁有10余年的建站服務(wù)經(jīng)驗(yàn),在此期間,我們發(fā)現(xiàn)較多的客戶在挑選建站服務(wù)商前都非常的猶豫。主要問題集中:在無法預(yù)知自己的網(wǎng)站呈現(xiàn)的效果是什么樣的?也無法判斷選擇的服務(wù)商設(shè)計(jì)出來的網(wǎng)頁效果自己是否會(huì)滿意?創(chuàng)新互聯(lián)建站業(yè)務(wù)涵蓋了互聯(lián)網(wǎng)平臺(tái)網(wǎng)站建設(shè)、移動(dòng)平臺(tái)網(wǎng)站制作、網(wǎng)絡(luò)推廣、定制開發(fā)等服務(wù)。創(chuàng)新互聯(lián)建站網(wǎng)站開發(fā)公司本著不拘一格的網(wǎng)站視覺設(shè)計(jì)和網(wǎng)站開發(fā)技術(shù)相結(jié)合,為企業(yè)做網(wǎng)站提供成熟的網(wǎng)站設(shè)計(jì)方案。
如果一定要使用Root賬戶登錄系統(tǒng),建議使用SSH來實(shí)現(xiàn)安全的遠(yuǎn)程登錄,因?yàn)镾SH實(shí)現(xiàn)了數(shù)據(jù)傳輸?shù)募用?。安裝方法如下:
1. 從獲取ssh-1.26.tar.gz文件;
2. 用tar xvpf ssh-1.26.tar.gz解開該軟件包;
3. 到解開的目錄/usr/local/src/ssh-1.26目錄下執(zhí)行./configure;
4. 執(zhí)行Make和Make Install來完成編譯和安裝。
這樣,就可以使用SSH與安裝了SSH的服務(wù)器建立安全的遠(yuǎn)程連接了。更多知識(shí)點(diǎn)請(qǐng)查看《linux就該這么學(xué)》第一章內(nèi)容。
背景 :工作需要,需要遠(yuǎn)程控制主機(jī)使其斷開Xshell后也能一直運(yùn)行。
關(guān)鍵字 : ,nohup,腳本掛起。
在應(yīng)用Unix/Linux時(shí),我們一般想讓某個(gè)程序在后臺(tái)運(yùn)行,于是我們將常會(huì)用 在程序結(jié)尾來讓程序自動(dòng)運(yùn)行。
鍵入Ctrl + C,發(fā)出SIGINT信號(hào),程序會(huì)繼續(xù)運(yùn)行
方法一、輸入命令:jobs
方法二:輸入命令:ps
fg、bg、jobs、、nohup、ctrl+z、ctrl+c 命令
加在一個(gè)命令的最后,可以把這個(gè)命令放到后臺(tái)執(zhí)行,如
可以將一個(gè)正在前臺(tái)執(zhí)行的命令放到后臺(tái),并且處于暫停狀態(tài)。
查看當(dāng)前有多少在后臺(tái)運(yùn)行的命令
jobs -l選項(xiàng)可顯示所有任務(wù)的PID,jobs的狀態(tài)可以是running, stopped, Terminated。但是如果任務(wù)被終止了(kill),shell 從當(dāng)前的shell環(huán)境已知的列表中刪除任務(wù)的進(jìn)程標(biāo)識(shí)。
將后臺(tái)中的命令調(diào)至前臺(tái)繼續(xù)運(yùn)行。如果后臺(tái)中有多個(gè)命令,可以用fg %jobnumber(是命令編號(hào),不是進(jìn)程號(hào))將選中的命令調(diào)出。
將一個(gè)在后臺(tái)暫停的命令,變成在后臺(tái)繼續(xù)執(zhí)行。如果后臺(tái)中有多個(gè)命令,可以用bg %jobnumber將選中的命令調(diào)出。
法子1:通過jobs命令查看job號(hào)(假設(shè)為num),然后執(zhí)行kill %num
法子2:通過ps命令查看job的進(jìn)程號(hào)(PID,假設(shè)為pid),然后執(zhí)行kill pid
前臺(tái)進(jìn)程的終止:Ctrl+c
如果讓程序始終在后臺(tái)執(zhí)行,即使關(guān)閉當(dāng)前的終端也執(zhí)行(之前的做不到),這時(shí)候需要nohup。該命令可以在你退出帳戶/關(guān)閉終端之后繼續(xù)運(yùn)行相應(yīng)的進(jìn)程。
關(guān)閉中斷后,在另一個(gè)終端jobs已經(jīng)無法看到后臺(tái)跑得程序了,此時(shí)利用ps(進(jìn)程查看命令)
如上所示:
nohup 和 組合了后臺(tái)運(yùn)行程序。
可以輸出到 out.log保存程序輸出,也可以輸出到/dev/null 即空設(shè)備,不保存輸出。
上面三種方式無論在nohup.out 或test.out都看不到數(shù)據(jù)結(jié)果,這是因?yàn)閜ython執(zhí)行有緩存輸出
解決
新的接口接入查看程序
使用后臺(tái)運(yùn)行程序:
結(jié)果會(huì)輸出到終端
使用Ctrl + C發(fā)送SIGINT信號(hào), 程序免疫
關(guān)閉session發(fā)送SIGHUP信號(hào), 程序關(guān)閉
使用nohup運(yùn)行程序:
結(jié)果默認(rèn)會(huì)輸出到nohup.out
使用Ctrl + C發(fā)送SIGINT信號(hào), 程序關(guān)閉
關(guān)閉session發(fā)送SIGHUP信號(hào), 程序免疫
平日線上經(jīng)常使用nohup和配合來啟動(dòng)程序:
同時(shí)免疫SIGINT和SIGHUP信號(hào)
同時(shí),還有一個(gè)最佳實(shí)踐:
不要將信息輸出到終端標(biāo)準(zhǔn)輸出,標(biāo)準(zhǔn)錯(cuò)誤輸出,而要用日志組件將信息記錄到日志里
nohup和究竟有啥區(qū)別
source命令用法:source FileName作用:在當(dāng)前bash環(huán)境下讀取并執(zhí)行FileName中的命令。注:該命令通常用命令“.”來替代。如:source .bash_rc 與 . .bash_rc 是等效的。注意:source命令與shell scripts的區(qū)別是,source在當(dāng)前bash環(huán)境下執(zhí)行命令,而scripts是啟動(dòng)一個(gè)子shell來執(zhí)行命令。這樣如果把設(shè)置環(huán)境變量(或alias等等)的命令寫進(jìn)scripts中,就只會(huì)影響子shell,無法改變當(dāng)前的BASH,所以通過文件(命令列)設(shè)置環(huán)境變量時(shí),另外你要是想學(xué)習(xí)Linux技術(shù)的話,推薦踏實(shí)看完《Linux就該這么學(xué)》這本書,保準(zhǔn)成高手了。
最近在編寫腳本的時(shí)候發(fā)現(xiàn)一個(gè)問題,在執(zhí)行 kubectl -n kube-system get pods 這個(gè)命令的時(shí)候,通過 ssh root@ip command 和 ssh root@ip command 登錄后執(zhí)行得到了不同的結(jié)果,
從上面可以看到SSH遠(yuǎn)程執(zhí)行獲取pods失敗了,但是shell窗口執(zhí)行卻成功了,所以我們可以猜到兩者之間一定有什么區(qū)別導(dǎo)致結(jié)果的不同。那么區(qū)別在哪里呢?通過研究發(fā)現(xiàn)兩者的環(huán)境變量存在區(qū)別,通過執(zhí)行printenv可以查看所有設(shè)置的環(huán)境變量:
通過上面可以看到SSH遠(yuǎn)程執(zhí)行的時(shí)候是沒有KUBECONFIG這個(gè)環(huán)境變量,而Shell窗口是有的,為什么有這個(gè)區(qū)別呢?這就要從Linux的bash的四種模式說起。
bash的四種模式:
從上面可以看出不同方式下加載的配置文件不同,那么怎么知道我們是加載了那些配置文件呢? 這里有一個(gè)驗(yàn)證的方法,就是在上面的每個(gè)配置文件中添加一句 echo $/etc/profile 這樣的命令,把每個(gè)文件的路徑打印出來。當(dāng)配置文件被加載時(shí),會(huì)輸出相應(yīng)的文件名,本例中在兩個(gè)文件中加了該命令:/etc/pfoile, ~/.bashrc,然后使用不同SSH方式執(zhí)行命令的結(jié)果如下。
只加載了.bashrc文件,未加載/etc/profile。
從輸出可以看到兩個(gè)配置都加載了,而KUBECONFIG只定義在/etc/profile中,沒有定義在.bashrc文件中,所以通過 ssh root@ip command 執(zhí)行時(shí)沒有拿到KUBECONFIG這個(gè)環(huán)境變量從而導(dǎo)致報(bào)錯(cuò)。知道原因后我們就可以將KUBECONFIG環(huán)境變量添加到.bashrc文件即可。
新聞標(biāo)題:遠(yuǎn)程執(zhí)行命令linux 遠(yuǎn)程執(zhí)行命令
轉(zhuǎn)載注明:http://chinadenli.net/article6/hiehig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、網(wǎng)頁設(shè)計(jì)公司、軟件開發(fā)、網(wǎng)站排名、微信公眾號(hào)、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)