您的位置:首页 > 其它

使用密钥登陆SSH的方法

2014-04-17 05:45 260 查看
在板子上移植SSHD终于成功了,用的是密码登陆,但为了发挥SSH应有的作用,决定尝试一下用密钥登陆,以下为记录,做个备份:

1.先在ubuntu上ssh开发板

a.生成公私密钥对

ssh-keygen -t dsa

参数-t指定密钥类型,对于ssh1来说,类型为rsa1,对于ssh2来说,类型有rsa,dsa,ecdsa.

生成密钥的过程中会寻问保存密钥的位置和密码短语,默认为用户主目录下的.ssh目录下,密码短语不能小于5个字符。

b.进入.ssh目录看一下刚才生成的密钥对

c.将id_dsa.pub传送到远程主机止

ssh-copy-id [-i [identity_file]] [user@]machine

ssh-copy-id会在远程主机的用户主目录下建立文件.ssh/authorrized,并把authorized_keys的权限设置为600

传送时提示Permission denied,更改远程主机上用户主目录下权限为777,即可上传。

好了,现在可以试试无密码登陆了

ssh lixianfeng@192.168.0.200 -v

但是登陆还是要密码,查看的log,好像是rsa,dsa,ecdsa都没有验证通过,那是什么原因导致验证不通过?rsa,和dsa都试过,还是不行。

在开发板上查看log,发现有如下信息和用户目录相关,它好像是说此目录有问题,难道又是权限问题?

cat /var/log/message

Server listening on 0.0.0.0 port 22.

Authentication refused: bad ownership or modes for directory /home/lixianfeng

Authentication refused: bad ownership or modes for directory /home/lixianfeng

那改个权限试试

chmod 755 lixianfeng

再试

ssh lixianfeng@192.168.0.200 -v

奇迹发生了,终于可以登陆了,看来还是对于SSH来说,权限太严了!折腾了一晚上了。

刚才又看了一下,这前用ssh-copy-id之所以失败,是因为此目录的拥有者为root,将其拥有都及所属组都更改成此用户即可。

chown -R lixianfeng:lixianfeng lixianfeng
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: