Windows |mac 開啟ssh 服務(wù)-->sshd

image.png

大概四年前,眾多互聯(lián)網(wǎng)公司還舍不得給程序媛配置mac,清一色的都是用臺(tái)式機(jī)的Windows,我當(dāng)時(shí)也是用的很happy,后來聽一位從硅谷歸來的朋友講,在硅谷雇主一般會(huì)給大家配發(fā)mac,并且 大家都習(xí)慣用mac 開發(fā),使用Windows編程 會(huì)讓雇主嚴(yán)重懷疑你 開發(fā)的能力和對事物態(tài)度,另外 硅谷的開發(fā)同事也會(huì)對你帶有偏見【用Windows的都是垃圾 或者菜鳥】,當(dāng)時(shí)很不解,也很吃驚,隨著今年Microsoft 表示 Windows系統(tǒng)部門將被裁撤,win10未來將不再進(jìn)行更新維護(hù),Microsoft也不打算再開發(fā)新的Windows系統(tǒng),世人皆驚。背后可能是 Windows放棄最后的掙扎。

假如你已經(jīng)開始使用ubuntu centos redhat ,你會(huì)逐漸喜歡上 Terminal vi emacs ,如果你喜歡不上,可能注定你很low【 哎】,mac 作為 unix系統(tǒng)的商業(yè)版本,天生和 linux 內(nèi)核的服務(wù)器系統(tǒng)有很大的相似性,相比 ,Windows 簡直就是個(gè)異類。

你在Terminal上用習(xí)慣的 ssh scp ftp 這些命令 Windows都原裝沒有,你要安裝和開啟也非常麻煩,作為普通用戶來說你可能只關(guān)心能不能掛個(gè)QQ 或者微信 ,打開 office ,打開瀏覽器,但是作為 開發(fā)人員,這些Windows都不能人性化的滿足我,摔。。。

先說說 mac 如何開啟sshd服務(wù) 【ssh server]

mac 無法ssh localhost,錯(cuò)誤提示:bash: /usr/local/bin/ssh_session: Permission denied 
在網(wǎng)上找了很久也沒有找到解決方案,最后根據(jù)提示自己摸索如下:

1.編輯/etc/sshd_config文件,注釋掉
#ForceCommand /usr/local/bin/ssh_session

2.啟動(dòng)sshd服務(wù):
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist

3.停止sshd服務(wù):
sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist

4查看是否啟動(dòng):
sudo launchctl list | grep ssh

如果看到下面的輸出表示成功啟動(dòng)了:
--------------
- 0 com.openssh.sshd

下面來講講怎么 開啟 Windows 的ssh 服務(wù)
首先來說
ssh 服務(wù) 分兩部分,一個(gè)是client 去連接其他遠(yuǎn)程服務(wù)機(jī)器的
一個(gè)是server 是作為一個(gè)ssh 的主機(jī)讓別人來連接自己的。
說實(shí)話 作為 client這部分比較容易實(shí)現(xiàn),但是作為 server讓別人來連接 還真是不太容易,我們怎么來檢驗(yàn) 是否這兩個(gè)服務(wù)開啟成功了呢
作為 client 就是去連接別人,比如
ssh root@cdhnice ,輸入密碼加入連接成功,說明 client正常

作為server 那就是 連接自己,比如
ssh user@127.0.0.1, ,輸入密碼加入連接成功, 說明 server正常

與ssh 相關(guān)的文件目錄 有
C:\windows\System32\drivers\etc\hosts
C:\Program Files\OpenSSH\bin
首先我們要
我們這次 使用 openssh來開啟 服務(wù)
https://github.com/PowerShell/Win32-OpenSSH/releases/
下載 OpenSSH-Win32.zip
文件

windows 創(chuàng)建 新用戶命令建議在 管理員下的power shell 中進(jìn)行

首先右鍵點(diǎn)擊開始菜單選擇命令提示符(管理員)(windows+x------a)然后輸入以下命令實(shí)現(xiàn)功能:

添加用戶輸入:net user 用戶名 密碼(可選) /add
修改用戶密碼: net user 用戶名 新密碼 該命令需權(quán)限高于要修改的用戶名
刪除用戶:net user 用戶名 /del

然后解壓 安裝 ,安裝成功后 會(huì)有一個(gè)目錄
C:\Program Files\OpenSSH
在這個(gè)目錄的 bin 下有可執(zhí)行的 文件
然后建議把這個(gè)目錄加入到系統(tǒng)的環(huán)境變量中

image.png

https://jingyan.baidu.com/article/3c343ff7f9b6940d3779632f.html

https://jingyan.baidu.com/article/3c343ff7f9b6940d3779632f.html

之后可以在 git bash 或者 power shell 中嘗試使用 ssh 和scp 命令,發(fā)現(xiàn)命令可以識(shí)別有效,嘗試作為client去連接其他機(jī)器,如果沒有問題,一般會(huì)連接成功

然后我們來嘗試 ssh server的這一部分
我們 嘗試 ssh user@127.0.0.1
回應(yīng)我們的是
received disconnect from 127.0.0.1 port 22:11
反正是無法連接
然后我們嘗試ping
先ping 127.0.0.1 發(fā)現(xiàn)ping不通,修改hosts文件
C:\windows\System32\drivers\etc\hosts
在Windows 左下角的home 右鍵 打開 管理員身份的 power shell [A] 然后去修改 hosts 文件,或者進(jìn)入hosts文件目錄,直接右鍵這個(gè)文件屬性 修改權(quán)限,反正是修改為可以編輯保存的,添加一行
127.0.0.1 localhost
然后再ping ,發(fā)現(xiàn) 127.0.0.1 可以ping通,localhost 也可以ping通,但是 有區(qū)別
ping 127.0.0.1 返回的是127.0.0.1,ping localhost 按道理返回的也應(yīng)該是 127.0.0.1才對,結(jié)果卻是 ::1,啥意思,其實(shí)就是 127.0.0.1 localhost 并沒有真實(shí)的映射成功,什么導(dǎo)致的呢,其實(shí)竟然是 ipv6 優(yōu)先級(jí)高于ipv4 ,沒有辦法,我們必須讓 piv4的高才可以
修改優(yōu)先級(jí)
參考
https://blog.csdn.net/ambertian/article/details/70238020

輸入命令 netsh interface ipv6 show prefixpolicies,查詢ipv6優(yōu)先級(jí)

netsh int ipv6 set prefix ::/96 50 0
netsh int ipv6 set prefix ::ffff:0:0/96 40 1
netsh int ipv6 set prefix 2002::/16 35 2
netsh int ipv6 set prefix 2001::/32 30 3
netsh int ipv6 set prefix ::1/128 10 4
netsh int ipv6 set prefix ::/0 5 5
netsh int ipv6 set prefix fc00::/7 3 13
netsh int ipv6 set prefix fec0::/10 1 11
netsh int ipv6 set prefix 3ffe::/16 1 12

x修改完后 再次 ping localhost 返回127.0.0.1返回正常,
但是 再嘗試 ssh user@127.0.0.1,還是連接被拒絕,說明 ssh 服務(wù)還是沒有開啟

Windows 左下角home 右鍵 打開 任務(wù)管理器,查看服務(wù),發(fā)現(xiàn) openssh sshd服務(wù)是停止的狀態(tài),還有一個(gè)openssh server sshd 也是停止的狀態(tài),道理很簡單,sshd 這個(gè)服務(wù)還是沒正常開啟,


image.png

四種方式
1.直接在任務(wù)管理器的服務(wù)中去手動(dòng)啟動(dòng)這些服務(wù),按道理這個(gè)只能啟動(dòng)一個(gè),好像是互斥的,只要啟動(dòng)一個(gè)就可以了,

2.重啟電腦,電腦重啟后 可能會(huì)默認(rèn)開啟sshd 服務(wù),這個(gè)嘗試后,是可以的,
所以 非常建議你重啟電腦再嘗試!?。?!

3.按照教程套路來
https://o7planning.org/en/11409/installing-openssh-server-on-windows
這個(gè)寫的比較全面一些

4.安裝 cygwin

最后的檢驗(yàn)就是再任務(wù)管理器查看openssh **sshd這個(gè)服務(wù)是否有一個(gè)正常的運(yùn)行,然后檢驗(yàn) ssh user@127.0.0.1可以正常的登錄


image.png
image.png
image.png

參考
localhost不能訪問127.0.0.1可以訪問的原因及解決方法
http://www.webkaka.com/tutorial/server/2013/121611/

總之倒騰一天 總算有個(gè)結(jié)果,其實(shí)mac 的ssh server服務(wù)默認(rèn)也不開啟,需要手動(dòng)打開,倒是 mac 自帶這個(gè)東西,也不需要安裝額外的
從Windows安裝一個(gè)ssh 就這么費(fèi)勁 ,印證了一個(gè)普通的不公平的道理:【你努力的終點(diǎn)可能只是別人的起跑線而已。?!抗裁惆?,降維打擊時(shí)常存在,莫不可做被打擊的losser

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,711評(píng)論 19 139
  • http://blog.csdn.net/pipisorry/article/details/52269785 什...
    950545c4cd64閱讀 83,609評(píng)論 0 13
  • 在虛擬機(jī)(Vmware Workstation)下,安裝了CentOS7,現(xiàn)在想通過SSH工具連接虛擬機(jī)中...
    JokerJin閱讀 3,399評(píng)論 0 1
  • 1、遠(yuǎn)程連接服務(wù)器 遠(yuǎn)程連接服務(wù)器對于管理員來說,是一個(gè)很有用的操作。它使得對服務(wù)器的管理更為方便。不過方便歸方便...
    Zhang21閱讀 39,796評(píng)論 0 20
  • 生命這條長河, 奔向遠(yuǎn)方, 沒有方向,沒有目的, 那樣自由自在。 如果給它打上標(biāo)號(hào), 并不是祝愿, 那這一場旅行,...
    李譯閱讀 397評(píng)論 0 3

友情鏈接更多精彩內(nèi)容