SSH登錄樹莓派(電腦直連樹莓派)
一、材料:樹莓派一部、網線一根,筆記本電腦一臺。
1、樹莓派:帶供電系統和燒好Raspbian系統的SD卡;
2、網線:交叉或直連;
3、筆記本電腦:雙網卡,現在應該都是這個配置的。
二、操作步驟。
1、連線。
樹莓派接好供電線;
將網線一端接到樹莓派,另一端接到筆記本。
2、共享互聯網。
如果現在筆記本已經通過WIFI連接到互聯網,可以將無線網卡的互聯網資源共享給本地連接。以win7系統為例,開始——控制面板——網絡和Internet——網絡和共享中心——查看網絡狀態和任務——更改適配器設置,找到無線網絡連接右鍵“屬性”,在共享選項卡上選中“允許其他網絡用戶通過此計算機的Internet連接來連接(N)”選項,點確定。
3、查找樹莓派的IP地址。
運行DOS窗口,輸入arp -a,在接口192.168.137.1下的為動態類型的IP地址就是樹莓派的地址。
為什么是接口192.168.137.1的呢?因為上部共享互聯網的時候已把“本地連接”的IP地址自動設置成靜態IP192.168.137.1了,當然這個IP地址也可以自己設置成其他自己常用的靜態IP地址。因為此時樹莓派的IP地址是動態的,只能用此方法查找。也可以通過修改SD卡中的cmdline.txt文件(在里面加入語句ip=...),將樹莓派設置成靜態IP地址,但此時只有將電腦的“本地連接”的靜態IP地址設置成與樹莓派靜態IP地址同一號段才能成功連接。
4、利用PuTTY軟件連接樹莓派。
此時輸入上述查找的動態IP地址或設置好的靜態IP地址就能連接上樹莓派了,因為是初次連接要進行一下初始化設置和其他操作。
局域網登錄固定IP樹莓派
如果我們希望直接不通過電腦直接連接登錄到樹莓派,可以參考下面的教程
樹莓派默認使用的是dhcp自動分配ip,而且默認打開SSH服務
當有些情況下我們不想掃描ip那么可以考慮將樹莓派的ip設為固定ip這樣我們每次就能準確訪問,而不需要掃描ip
設置樹莓派為靜態ip的方法和debian linux修改是一樣的
(可以根據上一部分的教程在樹莓派連接電腦的時候設置)
在/etc/dhcpcd.conf文件后面增加
這里eth0代表板子上的RJ45口的地址
這里要注意 ip地址要根據自己的子網掩碼改 而且后面的"/24"也別落下(開始我覺得沒用去掉了就不行) 然后domain_name_servers后面還可以加dns地址比如
domain_name_servers=192.168.1.1 8.8.8.8
然后重啟服務或系統
外網SSH登錄樹莓派
ngrok是非常流行的反向代理服務,可以進行內網穿透,支持80端口以及自定義tcp端口轉發。這樣即使你的樹莓派沒有公網IP也可以使用SSH遠程登陸,而且可以把你的網站展示給小伙伴們看,是微信/APP開發調試利器。
這里推薦natapp.cn,位于國內的阿里云BGP多線機房,穩定高效,如果覺得不錯可以考慮捐款支持。
先到natapp.cn下載linux-arm版32位的程序,同時注冊并創建一個TCP隧道,配置如下:
上圖中本地地址即為樹莓派設置好的本地固定IP,端口號填寫22
下載好對應的文件放到一個目錄中,假設為ngrok
解壓文件,同時賦予文件執行的權限
unzip ngrok_linux_arm.zip
chmod a+x natapp
直接在目錄運行程序
natapp -authtoken=ee3e7xxxxx
上面的authtoken填寫申請到的authtoken
如果成功即可看到如下頁面
這時候就可以通過putty來登錄你的SSH啦
登錄HOST NAME為ngrok.natapp.cn 端口號填寫上圖中顯示的端口號
需要提醒一點的是,對于免費用戶,端口號一段時間過后就會強制改變的!(按我的經驗來看,大概是兩個小時左右)
所以如果希望使用永久的端口號,還得花錢才行。。。
補充
按照上面的步驟應該就能實現通過外網來對樹莓派進行訪問了,但是需要每次都在樹莓派手動開啟這個程序,非常麻煩!!
強烈推薦在linux下 使用Supervisor,可以讓 natapp(ngrok) 以deamon方式后臺運行,且做到自動開機啟動,出現問題自動重啟等,強烈推薦!
首先 安裝supervisor (yum or apt-get) 且配置好,以apt-get為例
sudo apt-get install supervisor
在 supervisord.conf 添加如下配置
[include]
files = /etc/supervisor/conf.d/*.ini
在/etc/supervisor/conf.d下創建文件natapp.ini
編輯內容
如 下載的 natapp在 /home/pi/ngrok/natapp
[program:natapp]
command = /home/pi/ngrok/natapp -authtoken=xxxxxx -log=stdout
directory = /home/pi/ngrok
process_name = %(program_name)s_%(process_num)s
numprocs = 1 ;注意這里只能為1
autostart = true
autorestart = true
;以下為日志,按實際情況修改
stdout_logfile = /var/log/supervisor/natapp_stdout.log
stdout_logfile_maxbytes = 10MB
stderr_logfile = /var/log/supervisor/natapp_error.log
stderr_logfile_maxbytes = 10MB
這樣就可以實現natapp的 后臺&開機自動啟動了,且可以留下日志記錄
注意:此處 -log=stdout作用是將日志直接輸出,讓Supervisor可以全部捕獲
請務必在 我的后臺->我的隧道->配置處 將 本地Web管理地址 關閉掉,這里非常重要
參考網站