红联Linux门户
Linux帮助

使用密钥登陆SSH的方法

发布时间:2015-11-30 10:42:09来源:linux网站作者:fansilean

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


先在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


SSH使用密钥登录并禁止口令登录实践:http://www.linuxdiyf.com/linux/12847.html

Linux多台服务器共用密钥ssh自动登陆:http://www.linuxdiyf.com/linux/10798.html

ssh使用密钥无法登入Linux系统:http://www.linuxdiyf.com/linux/1375.html