如果需要免密码登入开发板,首先要知道开发板的root用户密码。应该可以在开发板上用passwd修改root用户的密码,但是我的开发板上没有移植passwd,所以直接在宿主机上修改root用户,然后将用户名密码拷贝到开发板上:
1. 一般Ubuntu的root用户没有设置密码,所以用passwd在host 虚拟机中修改了root密码。这是第一步。
2. 然后将/etc 文件夹下的passwd, shadow, group三个文件拷到开发板上的/etc文件夹下
3. 宿主机中更换成root用户,ssh-keygen -t rsa, ssh-keygen -t dsa 生成四个文件:两个私密 rsa_key,dsa_key 和两个公密 rsa_key_pub, dsa_key_pub。
将两个公密拷到开发板的任意位置,在开发板中 cat rsa_key_pub >> /root/.ssh/authorized_keys 。如果开发板没有/root 和/root/.ssh/authorized_keys文件,请先新建
4. 更改开发板中/root/.ssh 文件夹的权限为700 , authorized_keys权限为600
5. 现在从虚拟机 ssh登录 开发板应该就不用密码了
6. 如果还需要密码,请查看相应文件夹的权限,一般都是文件夹权限的问题
如果还有问题:
在开发板的/etc/fstab下面加一行:
none /dev/pts devpts defaults 0 0
然后在开发板上运行
rm -rf /dev/ptmx
mknod /dev/ptmx c 5 2
chmod 666 /dev/ptmx
umount /dev/ptmx
rm -rf /dev/pts
mkdir /dev/pts
mount /dev/ps