windows免密码登陆linux服务器 |
您所在的位置:网站首页 › windows无密码远程登录 › windows免密码登陆linux服务器 |
win10 登陆linux win10 1、本地生成公钥和私钥,这边是使用git 中 shell产生的,其他类Unix系统可以直接在终端生成 ssh-keygen -t rsa -C "kg-git" #该命令产生的密钥是通过rsa算法加密生成的 生成密钥过程中可以一路回车,不给定密钥文件名字和密码,使用默认的密钥文件名称和空密码 默认生成的这个是公钥id_rsa.pub 和 私钥 id_rsa 你可以 ssh-keygen -f othername 来生成指定的文件名,或者生成之后 也可以两个改名 但是ssh命令默认只会读取 id_rsa这个私钥,所以如果 是其它 的名字需要添加配置文件 ~/.ssh/config 注意:若未使用默认的id_rsa,则需要额外配置~/.ssh/config,加入: Host crm.abc.com IdentityFile ~/.ssh/id_rsa.abc生成过程截图 然后分发公钥到目标机器 ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@对方机器IP (注意不要忘记了参数-i) 注:ssh-copy-id -i 是最简单的办法,如果不用这个,就得分二个步骤: a) 先scp或者其他工具 将本机的id_rsa.pub复制到对方机器的.ssh目录下 b) 在对方机器上执行 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 导入公钥 下面使用两步法来替代 3、将刚刚生成的公钥(带.pub结尾的文件)ssh_rsa.pub上传到Linux服务器刚刚新建的用户目录下(即/root目录下),此时我们就可以用rz命令了 使用xshell 服务器上 修改ssh配置文件"/etc/ssh/sshd_config"的下列内容,将以下内容的注释去掉:(使用/RAS查找) RSAAuthentication yes # 启用 RSA 认证 PubkeyAuthentication yes # 启用公钥私钥配对认证方式 AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)4、将上传的公钥文件的内容追加到authorized_keys文件,使用如下命令:#如果~/.ssh目录不存在,则自己新建 mkdir -p ~/.ssh cat id_rsa.pub >> ~/.ssh/authorized_keys5、修改authorized_keys和.ssh的文件权限 chmod 700 ~/.ssh/ chmod 600 ~/.ssh/authorized_keys6、重启SSH服务 service sshd restart7、使用本机的私钥既可以免密码登陆 如果使用git,注意将登录shell改为git-shell 禁止 git 用户 ssh 登录服务器 之前在服务器端创建的 git 用户不允许 ssh 登录服务器 编辑 /etc/passwd 找到: git:x:1001:1001::/home/git:/bin/bash 修改为: git:x:1001:1001::/home/git:/bin/git-shell 此时 git 用户可以正常通过 ssh 使用 git,但无法通过 ssh 登录系统。 ssh 免密码登录失败 · Issue #93 · codcodog/Blog · GitHub 问题解决: 上面的操作完成后,就可以用 ssh 对方机器IP 来测试了,顺利的话,应该不会提示输入密码。 如果失败,有可能是以下原因: 1、权限问题 .ssh目录,以及/home/当前用户 需要700权限,参考以下操作调整 sudo chmod 700 ~/.ssh sudo chmod 700 /home/当前用户 .ssh目录下的authorized_keys文件需要600或644权限,参考以下操作调整 sudo chmod 600 ~/.ssh/authorized_keys 2、StrictModes问题 编辑 sudo vi /etc/ssh/sshd_config 找到 #StrictModes yes 改成 StrictModes no 如果还不行,可以用ssh -vvv 目标机器ip 查看详情,根据输出内容具体问题具体分析了 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |