美文网首页
SSH免密码登录及常见错误

SSH免密码登录及常见错误

作者: 我是你的nobita | 来源:发表于2017-04-27 00:55 被阅读0次

    之前遇到的问题,百度上鱼龙混杂,很多解决办法并不明确,所以在简书上记录

    场景

    A客户端 通过SSH连接上 B服务器

    步骤:

    1. A客户端生成密匙

    ssh-keygen -t rsa

    生成密匙对id_rsa(私钥)、id_rsa.pub(公钥),默认存贮在 ~/.ssh目录

    2. 将A客户端公钥复制到B服务器

            方法一: 将id_ras.pub中的内容直接复制到B服务器(~/.ssh/)中的authorized_keys中,文件不存在则创建,存在则在末尾追加

            方法二: ssh-copy-id

                        命令:ssh-copy-id -i ~/.ssh/id_rsa.pub  user@remote_ip

            方式三:scp

                        命令:scp -p ~/.ssh/id_rsa.pub root@<remote_ip>:/root/.ssh/authorized_keys

    3.B服务器 修改authorized_keys权限

    chmod   644  ~/.ssh/authorized_keys

    保证authorized_keys只对其所有者有读写权限,其他人不允许有写的权限

    4.A客户端 编辑config文件(不存在创建)

    Host   server        #别名,域名缩写

    HostName  sever.com        #完整的域名

    User           username        #登录该域名使用的账号名

    IdentityFile ~/.ssh/my_rsa  #私钥文件的路径

    5.A客户端连接

    ssh server

    常见错误

    1.ssh key Key is invalid

    密钥错误,或者配置错误

    2.配置ssh后仍需要输入密码才能登录

    这个问题常见与服务器端,有的系统安装openssh-server后并没有生成.ssh文件,若用户手动生成则需要添加标签,没有添加标签,则需要输入登录密码,手动生成的.ssh目录需要修复标签(selinux保护造成,关闭selinux也可以解决问题,但不推荐关闭)。

    restorecon -r -vv /root/.ssh (本人尝试没反应,但国外友人使用能解决)

    3.使用ssh-copy-id 提示 Permission denied, please try again.

    1.B服务器配置sshd_config(/etc/ssh/sshd_config)

    PasswordAuthentication yes

    2.重启sshd

    service sshd restart

    3.ssh-copy-id -i ~/.ssh/id_rsa.pub USER@HOST -p PORT

    注意: 这里不指定USER则为本机的用户

    相关文章

      网友评论

          本文标题:SSH免密码登录及常见错误

          本文链接:https://www.haomeiwen.com/subject/fnawzttx.html