1. 程式人生 > >Cygwin的安裝和配置

Cygwin的安裝和配置

##1. 下載和安裝
進入到官網下載setup-x86_64.exe,這個是很小的安裝包,後續需要繼續聯網對具體的安裝包進行下載。

執行上面下載的exe檔案,選擇install from Internet,直接從網路進行下載和安裝。選擇安裝目錄和本地包存放目錄。

下面進入到select your internet connection,筆者在網上看到選擇中國伺服器的方式,但是一直沒有下載的速度。最後筆者沒有管伺服器,直接選擇最上面的地址,發現速度得到了很大的提升。

之後選擇我們需要安裝的內容,直接進行安裝。

##2. 檢測
執行Cygwin然後進行測試

##3. windos下執行cygwin
新增Cygwin到windows環境變數中

  1. 重新點選setup-x86_64.exe進行安裝,並在安裝的時候選擇openssh和openssl,如果是已經安裝的話會新增新選擇的項。
  2. 檢視ssh版本號,ssh -V,這裡有空格必須是大寫的V
  3. 輸入ssh-host-config,中間沒有空格。下面列舉一些問題的回答。
*** Query: Should StrictModes be used? (yes/no) no

*** Query: Should privilege separation be used? (yes/no) no

*** Query: Do you want to install sshd as a service?

*** Query: (Say "no" if it is already installed as a service) (yes/no) yes

//下面的回答中筆者填的是ntsec
*** Query: Enter the value of CYGWIN for the daemon: [] ntsec

*** Query: Do you want to use a different name? (yes/no) no

*** Query: Create new privileged user account 'cyg_server'? (yes/no) yes

//注意下面這裡,在書寫密碼的時候是不會顯示出內容的,兩次輸入完並且沒有問題後放可以。
//而且筆者一開始輸入123456也存在問題,後來改成1234567就沒有問題了,可能對字元的數量也有要求
*** Query: Please enter the password:
*** Query: Reenter:

//之後會提示完成
*** Info: Host configuration finished. Have fun!

##檢視CYGWIN sshd服務
開啟控制面板,搜尋服務,在管理工具的檢視本地服務中。點選進去就會找到我們的服務。

這裡寫圖片描述

可以發現這裡的可執行檔案路徑,這樣就可以通過這個路徑來進行啟動了。

問題

  1. 在Cygwin中執行cygrunsrv -S sshd時出現無法執行操作,在網路上查詢發現是cygwin沒有用管理員方式開啟。之後便可以正常進行
cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062

但是在Cygwin中啟動和關閉,對應在服務視窗中並沒有發現該視窗有變化,可能是頁面沒有關閉,沒有及時更新。.

  1. 輸入ssh localhost啟動ssh中出現拒絕連線
ssh: connect to host localhost port 22: Connection refused

發現是未啟動ssh,輸入cygrunsrv -S sshd,然後再輸入便可以。之後就是輸入相應的密碼:

[email protected] ~/.ssh
$ ssh localhost
ssh: connect to host localhost port 22: Connection refused

[email protected] ~/.ssh
$ cygrunsrv -S sshd

[email protected] ~/.ssh
$ ssh localhost
Enter passphrase for key '/home/tjixm/.ssh/id_rsa':
Last login: Thu Sep 13 09:07:34 2018 from ::1

免密登陸:

  1. cygwin,輸入 ssh-keygen,當詢問要filenames 和 pass phrases 的時候都點回車,接受預設的值
  2. 命令結束後輸入 cd ~/.ssh 轉到.ssh目錄,輸入 ls –l 應該包含兩個檔案:id_rsa.pub 和 id_rsa
  3. 在第8步的視窗(當前目錄在.ssh)中輸入 cat id_rsa.pub >> authorized_keys。在該檔案中新增一個本地主機的名稱實現免密登陸。

windows10的免密配置這裡筆者比較麻煩,不知道是一開始沒有配好還是怎麼回事。在windows10中Cygwin和Windows10各有一個類似於Linux的目錄。而且windows10下的目錄很分散。比較難找,在配置好Cygwin中的免密後,沒有成功配置好Windows10命令列的免密登陸。為此直接將Cygwin中對應的檔案拷貝靠windows10相應目錄(.ssh目錄)即可。