使用密钥登陆SSH的方法

来源:互联网 发布:网络电视直播在线观看 编辑:程序博客网 时间:2024/05/22 10:19

在板子上移植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




0 0
原创粉丝点击