<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 移植SSH到ARM Linux開發(fā)板成功

          移植SSH到ARM Linux開發(fā)板成功

          作者: 時(shí)間:2016-11-26 來源:網(wǎng)絡(luò) 收藏

          登錄成功后如下圖:

          putty登錄

          linux主機(jī)登錄

          問題總結(jié)1.運(yùn)行sshd時(shí)出現(xiàn)
          sshd: /lib/libc.so.6: version `GLIBC_2.7 not found (required by sshd)

          問題分析:說明你編譯等時(shí)候指定等glibc和目標(biāo)板所使用的不一致。
          解決辦法:配置openssh,即./configure時(shí),使用對(duì)用等--host參數(shù),如--host=arm-linux/arm-none-linux-gnueabi。

          2.make openssl的時(shí)候,指定的prefix目錄已經(jīng)存在,無法創(chuàng)建。
          問題分析:這是因?yàn)樵趐refix目錄的時(shí)候,使用了相對(duì)路徑,如../../install。
          解決辦法:openssl需要用指定絕對(duì)路徑來安裝,prefix參數(shù)應(yīng)該如:--prefix=/work/ssh/install/openssl-1.0.0

          3.使用arm-2007q3-51-arm-none-linux-gnueabi.bin的make編譯ssh和gdbserver時(shí)出錯(cuò):
          /root/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.1/../../../../arm-none-linux-gnueabi/bin/ld: cannot find -lgcc_s
          collect2: ld returned 1 exit status
          make: *** [example] 錯(cuò)誤 1

          問題解析:

          cannot find -lgcc_s,即沒有發(fā)現(xiàn)-libgcc_s.so。

          解決辦法:
          可能一解決:查找/root/CodeSourcery/Sourcery_G++_Lite/arm-none-linux-gnueabi/libc/lib目錄,如果有l(wèi)ibgcc_s.so.1,做一個(gè)鏈接:ln -s libgcc_s.so.1 libgcc_s.so,重新make,此問題可以解決。如果再出現(xiàn)以下問題:
          同理,其他的問題,也在/arm-none-linux-gnueabi/libc/lib目錄下,
          問題:cannot find /lib/libc.so.6 inside,解決:ln -s libc-2.5.so libc.so.6
          問題:cannot find /lib/ld-linux.so.3inside,解決:ln -s ld-2.5.sold-linux.so.3

          4.用nfs從主機(jī)復(fù)制到目標(biāo)板時(shí)出現(xiàn):
          cp: omitting directory /etc/boa
          等錯(cuò)誤。

          問題分析:權(quán)限不夠,或者目標(biāo)板中等/usr/local/etc已經(jīng)有文件。
          解決辦法:在cp命令后加-r參數(shù),如:cp -r /etc/* /usr/local/etc/

          5.運(yùn)行sshd時(shí)出現(xiàn):
          Could not load host key: /usr/local/etc/ssh_host_dsa_key
          Could not load host key: /usr/local/etc/ssh_host_ecdsa_key

          問題解析:在/usr/local/etc目錄中沒有相應(yīng)等key。
          解決辦法:按照操作步驟,運(yùn)行:
          ssh-keygen -t dsa -f ssh_host_das_key -N ""
          ssh-keygen -t ecdsa -f ssh_host_ecdas_key -N ""
          生成ssh_host_das_key 和ssh_host_ecdas_key后復(fù)制到目標(biāo)板/usr/local/etc/目錄下。

          6.從nfs復(fù)制key文件到usr/local/etc時(shí)出現(xiàn):
          cp: cant open ssh_host_dsa_key: Permission denied

          問題分析:目標(biāo)板復(fù)制權(quán)限不夠。
          解決辦法:在主機(jī)中修改他們等權(quán)限為777,命令:chmod 777 *。然后再復(fù)制。

          7.Privilege separation user sshd does not exist
          //需要在開發(fā)板的系統(tǒng)里adduser shhd
          //或者在/etc/passwd 中添加下面這一行
          sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

          8.Permissions 0755 for /usr/local/etc/ssh_host_dsa_key are too open.
          //則把目標(biāo)板/usr/local/etc/下的ssh_host_*幾個(gè)文件的權(quán)限改為700。如果出現(xiàn)權(quán)限不夠問題,用su - root進(jìn)入root用戶再改。
          命令:#chmod 700 ssh_host_*

          9.Permission denied (publickey,password,keyboard-interactive).
          //打開開發(fā)板/usr/local/sshd_config,將PermitRootLogin yes前的注釋“#”號(hào)去掉。

          10.configure配置openssh的時(shí)候出錯(cuò):
          configure: error: *** zlib missing - please install first or check config.log ***
          問題分析:沒有找到zlib。
          問題解決:重新交叉編譯zlib,再configure即可。

          11.以下兩個(gè)函數(shù)沒找到:
          /home/arm/ssh-omap/source/openssh-5.8p2/ssh-keygen.c:1410: undefined reference to `pkcs11_init
          /home/arm/ssh-omap/source/openssh-5.8p2/ssh-keygen.c:1493: undefined reference to `pkcs11_terminate

          問題解決:
          打開ssh-keygen.c:vi ssh-keygen.c
          屏蔽這1410和1493這兩行函數(shù)。
          12.開啟sshd后,沒有找到sftp-server服務(wù)。如DS-5軟件在連接時(shí)就出現(xiàn)以下錯(cuò)誤,雖然還可以用終端,不過不能傳輸文件,還是很不爽的:
          Failed to connect SFTP subsystem: Remote host may not have sftp-server installed : java.io.IOException: inputstream is closed
          問題分析:明顯的,這是沒有找到sftp子服務(wù)。
          問題解決:打開/usr/local/etc/sshd_config,找到這么一行:
          Subsystem sftp /usr/libexec/sftp-server
          看出問題了吧?配置文件中指明的sftp子服務(wù)并不是我們放的目錄,所以修改為:
          Subsystem sftp /usr/local/libexec/sftp-server
          然后kill掉sshd,再啟動(dòng)就可以用sftp-server了。

          上一頁 1 2 下一頁

          關(guān)鍵詞: 移植SSHARMLinux開發(fā)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();