openwrt預設開機啟動ssh的方法

來源:互聯網
上載者:User

openwrt預設開機啟動ssh的方法

當前的情況:
Openwrt開機後不能用ssh直接連接,需要在頁面上配置後才能連上,system->administration->SSH Access其實就是修改下介面為自己需要的介面,修改密碼(密碼不可為空)儲存應用就行了。

註:openwrt預設開啟telnet但是沒開啟ssh,當配置了使用者名稱和密碼後就預設開啟ssh關閉了telnet。這時用telnet串連時會提示“Login failed.”





解決過程:

主要分兩步,第一步修改dropbear設定檔:
開始不知道這個修改是修改了什麼設定檔,所以需要從luci頁面開始尋找。用grep命令查到

在/usr/lib/lua/luci/model/cbi/admin_system/admin.lua
如可以看出來,修改的是設定檔/etc/config/dropbear檔案



配置之後的
#vim /etc/config/dropbear


配置之前(預設的),沒有配置介面
#vim /etc/config/dropbear


到這裡可以確定設定檔了,現在要做的就是修改openwrt編譯環境中的檔案,讓openwrt編譯出來的韌體直接符合我們的要求。
Openwrt下的路徑:package/network/services/dropbear/files/dropbear.config[plain] 

[openwrt@root files]$ vim dropbear.config 
 1config dropbear 
 2 option PasswordAuth 'on' 
 3 option RootPasswordAuth 'on' 
 4 option Port '22' 
 5 option Interface 'lan' 
 6# option BannerFile '/etc/banner' 
修改成如上

第二步:修改root密碼
由於openwrt預設是沒有密碼的,所以ssh沒法串連,只能串連telnet,我們只要做到讓openwrt開啟時就配置好密碼就可以了!

讓openwrt開機就有密碼有兩種方法:
1、 修改原有的shadow檔案--------測試可行
2、 用一條命令開機啟動時就執行echo “密碼”| passwd root –stdin  ---經測試此方法在一般linux裡面支援,但是在busybox中的passwd不支援,出現如下錯誤


然後修改/package/base-files/files/etc/shadow檔案,將加密後的一行root的密碼粘貼進此檔案,密碼為123456時,加密後應是:[plain] 

root:$1$BTkC8R/1$ZtNrYbhknXmNKGHDJCmJc1:15783:0:99999:7::: 
將這一行粘貼進shadow檔案,openwrt開機後預設就是123456的密碼了,telnet不可用,ssh預設開啟。

最後刪除/staging_dir/target-i386_uClibc-0.9.33.2/root-x86檔案夾(我是要編譯iso的所以是x86架構)其他架構的目錄名字不同。
重新編譯下即可。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.