2、移植過程:其實可以根據自己的需要來進行移植,全部移植如下:
在目標板上新建這些目錄:
/usr/local/bin
/usr/local/etc
/usr/libexec
/var/run
/var/empty
將本地機器上的openssh目錄編譯好的檔案拷貝到目標板系統中,具體為:
a、scp、sftp、ssh sshd、ssh-add、ssh-agent、ssh-keygen、ssh-keyscan共8個檔案拷貝到目標板/usr/local/bin
b、moduli、ssh_config、sshd_config共3個檔案拷貝到目標板 /usr/local/etc
c、sftp-server、ssh-keysign 共2個檔案拷貝到目標板 /usr/libexec
3、生成相應的key 檔案:
在目標版 /usr/local/etc/ 目錄下生成key檔案:
cd /usr/local/etc/
ssh-keygen -t rsa -f ssh_host_rsa_key -n ""
ssh-keygen -t dsa -f ssh_host_dsa_key -n ""
ssh-keygen -t ecdsa -f ssh_host_ecdsa_key -n ""
ssh-keygen -t dsa -f ssh_host_ed25519_key -n ""
修改 ssh_host_ed25519_key 許可權為 600:
chmod 600 ssh_host_ed25519_key
不修改會出錯。
開啟 /etc/passwd 檔案,在最後新增下面這一行:
sshd:x:74:74:privilege-separated ssh:/var/empty/sshd:/sbin/nologin
如果開發板的 root 使用者還沒有密碼,鍵入passwd root命令輸入兩次密碼來修改,否其他裝置無法連.
4、簡單測試
在目標板上執行:
$ /usr/local/bin/sshd
可以用 ps 命令檢視sshd是否在工作。
如果執行的過程中有提示缺少動態連線庫,可以在主機上搜尋相應檔案,拷貝到目標板/lib/目錄下面,注意建立軟連線!
ok!不出意外的話可以成功,
5、設定免密遠端登入
a、如果事先有別的版本的ssh,先將/usr/bin目錄下的ssh 備份好,沒有的話就先忽略此步驟。
b、將編譯好的/usr/local/bin 下的ssh ssh-keygen拷貝到/usr/bin 下
c、執行ssh-keygen生成公鑰
d、使用ssh-copy-id [email protected] 拷貝公鑰到遠端主機,若沒有ssh-copy-id 這個命令,則使用如下命令進行拷貝:
cat ~/.ssh/id_rsa.pub |
ssh [email protected] "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
e、輸入ssh [email protected] 進行免密登入,應可以登入。ssh -v [email protected]會列印很詳細的除錯資訊。 OpenSSH交叉編譯和移植
一 openssl交叉編譯編譯 2 解壓 tar xvzf openssl 1.0.1h.tar.gz 3 進入解壓後的目錄,然後再建立輸出目錄 make install是安裝在該目錄 如mkdir outdir 4 配置 config no asm prefix home testdir open...
編譯 交叉編譯
交叉編譯含義 是指在乙個平台上生成另乙個平台上的可執行 同乙個體系結構可以執行不同的作業系統,同樣乙個作業系統也可以在不同的體系結構上執行 例 常說的x86 linux平台 指inter x86體系結構及linux for x86作業系統 x86 winnt平台 指inter x86體系結構及win...
交叉編譯(2) 交叉編譯鏈
什麼是交叉編譯鏈 明白了什麼是交叉編譯,那我們來看看什麼是交叉編譯鏈。首先編譯過程是按照不同的子功能,依照先後順序組成的乙個複雜的流程,如下圖 那麼編譯過程包括了預處理 編譯 彙編 鏈結等功能。既然有不同的子功能,那每個子功能都是乙個單獨的工具來實現,它們合在一起形成了乙個完整的工具集。同時編譯過程...