伺服器遠端連線操作方法及程式碼分享

兩萬五千裡發表於2020-02-12

這裡簡單介紹一下,如何在使用遠端桌面連線時把本地電腦中的資源共享給遠端電腦直接使用。這個方法為我們提供了一個在遠端電腦和本地電腦之間共享資料的好方法。Windows作業系統怎麼遠端連線伺服器

第一種就是下載一個iis7遠端桌面,直接解決所有問題。

IIS7 遠端桌面管理工具 (3389 vps 、伺服器批次管理、批次遠端工具 ) 是一款綠色小巧,功能實用的遠端桌面管理工具,其介面簡潔,操作便捷,能夠同時遠端操作多臺伺服器,並且多臺伺服器間可以自由切換,適用於網站管理人員使用。


下面是他的功能:

IIS7遠端桌面管理工具(3389、vps、伺服器批次管理、批次遠端工具)簡介:

   1、批次管理WIN系列伺服器,VPS,電腦。
   2、批次匯入伺服器的IP,埠,賬號和密碼
   3、批次開啟N個伺服器的遠端桌面
   4、遠端桌面後,遠端視窗右上角會出現 伺服器備註的資訊,如鄭州xxx號伺服器
   5、遠端桌面後,不影響工作列顯示。可以及時看其他視窗。
    6、自定義遠端桌面視窗解析度
   7、定時監測伺服器是否正常
   8、伺服器到期提醒
   9、可選擇是否載入本地硬碟、硬碟對映
  10、可選擇是否載入伺服器的聲音,遠端音效卡讀取
  11、可選擇是否禁用本地複製到遠端的功能
  12、可選擇標籤式或視窗式批次遠端

儲存常用SSH主機,避免重複輸入

Linux下訪問遠端伺服器的方法基本就是使用SSH(secure shell)。SSH其實是一種網路協議,用來計算機之間的加密登陸,保證傳輸過程中即便資訊被截獲了也無法解析出原始資訊。SSH作為一種協議有多種使用方法,在Linux裡面是OpenSSH,在Windows裡面可以用putty或者Xshell。不過這裡僅僅討論Linux 裡面的ssh。在Linux中訪問遠端主機的時候,大家肯定對如下指令不陌生:

ssh -p 22 xuzhougeng@10.10.87.36

其中 -p 指定埠號,如果遠端伺服器沒有特殊說明,一般預設都是22,所以可以省去 -p 22 . 後面為使用者@IP地址。第一次訪問的時候會問你是否要將該主機的公鑰加入信任名單中,當然是選 yes 了。

那麼問題來了,能不能討論不要輸入"xuzhougegn@10.10.87.36"呢?方法當然是有的,你只需要建立 ~/.ssh/config 檔案,並新增主機資訊

# 使用vi編輯器
# vi ~/.ssh/config
Host xzg
   HostName 10.10.87.36
   User xuzhougegn
   Port 22

然後就能以 ssh xzg 訪問遠端主機,而需要輸入全部資訊,又累還容易出錯。

無需密碼認證,快速登陸

上面的技巧使得你訪問的時候不需要輸入主機全稱,但是依舊需要輸入密碼。如果密碼比較長,那麼人就容易出錯,而且Linux輸密碼的時候啥都看不見,你都不知道自己輸了多少個字元,如果你的電腦只有自己用,完全連密碼輸入這一步都可以省呀。

避免每次都要密碼認證的方法就是使用SSH公鑰。當你把個人電腦的SSH公鑰存放到遠端伺服器的時候,遠端伺服器就完全信任了你,兩個人之間就再也沒有了隔閡。

首先是用 ssh-keygen 建立金鑰(密碼為空時,後續登陸時才能不需要輸入密碼)

$ ssh-keygen -b 2048
Generating public/private rsa key pair.
Enter file in which to save the key (/home/xzg/.ssh/id_rsa):
/home/xzg/.ssh/id_rsa already exists.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/xzg/.ssh/id_rsa.
Your public key has been saved in /home/xzg/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:/1dusQI7WRUfsf9pG3CjCstIzGHPdPyRCO+zVF/efVM xzg@DESKTOP-CNF0I9C
The key's randomart image is:
+---[RSA 2048]----+
|               ..|
|               o.|
|         .     .+|
|          + . ..o|
|       oS. = =.oE|
|      + =.o.o.*oX|
|       + +.+=o OO|
|      . o +=+.o.B|
|       . o oo..o |
+----[SHA256]-----+

然後是將自己的ssh公鑰新增到遠端伺服器的 ~/.ssh/authorized_keys .這個方法比較多

  • ssh-copy-id

$ ssh-copy-id xuzhougegn@10.10.87.36
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/xzg/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
xuzhougegn@10.10.87.36's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'xuzhougegn@10.10.87.36'"
and check to make sure that only the key(s) you wanted were added.

  • cat id_rsa.pub 顯示,然後複製到遠端伺服器的 ~/.ssh/authorized_keys

  • ssh xuzhougegn@10.10.87.36' mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

任務掛起,安心關閉終端

遠端操作時,一旦終端關閉,所有這個終端執行的程式都會收到 SIGHUP 訊號,然後這些程式就會立即退出。如果你的命令需要執行好幾個小時或者好幾天,你肯定不願意一直開著終端,因為網路問題功虧一簣。解決方法也是有的,而且還有好幾種,這裡就說說 nohup screen

nohup 故名思意,就是不要hup,即能夠捕捉到終端發出的SIGHUP訊號並無視他,就不必擔心自己的命令被終端關閉了。

# 例項
nohup bash snp_calling.sh > output.txt

如果你不知道自己的命令有多久,所以不知道要不要輸入nohup, 其實用 screen (或tmux)效果更好

# 開啟一個screen
screen -S hisat2
# 使用ctrl +a ctrl +d 掛起
screen -list # 檢視執行的sreen
There is a screen on:
       46953.hista2    (Detached)
1 Socket in /var/run/screen/S-xuzhougegn.
# 繼續之前的screen
screen -r hisat2


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946374/viewspace-2675249/,如需轉載,請註明出處,否則將追究法律責任。

相關文章