Windows(客户端)ssh免密码登录Linux(远程) |
您所在的位置:网站首页 › 飞鸽怎么切换账号和密码登陆 › Windows(客户端)ssh免密码登录Linux(远程) |
需求:需要管理大量服务器,避免每次登录服务器都重复输入密码,特进行基于“公钥-私钥对”方法的远程登录设置。以下是我自己的设置方法。 基本原理:在本地生成一对公钥和私钥,将公钥字符串追加复制到服务器的“~/.ssh/authorized_keys”文件中(其中:.ssh文件夹权限设置为700, authorized_keys文件权限设置为600,这个文件中可以放多个公钥字符串,一个公钥一行)。私钥(默认文件名为id_rsa)放在本地~/.ssh/目录中,就可以实现默认私钥免密登录远程服务器。通过进一步配置~/.ssh/config文件可以实现登录不同服务器用不同私钥文件的需求。 详细步骤: 准备:在Windows客户端安装Linux模拟终端cmder。这个终端虽然有一些bug但是真的很方便,可以用很多Linux的基本命令。 1. 在本地(Windows客户端)生成“公钥-私钥”文件对 在cmder终端运行以下命令: ssh-keygen #连续enter,可以在当前系统用户文件夹的.ssh文件夹下生成公私钥文件(默认为id_rsa、id_rsa.pub,其中id_rsa为私钥文件、id_rsa.pub为公钥文件) 修改id_rsa.pub文件,去掉最后的字符串"username@xxx-pc" 2. 将公钥拷贝到服务器端 scp id_rsa.pub root@remotehost:/root/.ssh/ #拷贝公钥文件到服务器~/.ssh下 touch authorized_keys #创建公钥keys文件 cat id_rsa.pub >> authorized_keys #将公钥字符串追加拷贝到改文件 chmod 600 authorized_keys #修改文件权限 cd .. chmod 700 .ssh #修改文件夹权限 3. 在服务器端做必要的ssh配置 vim /etc/ssh/sshd_config #对sshd_config文件做如下修改 ############################################# RSAAuthentication yes PubkeyAuthentication yes PermitRootLogin yes ############################################## 修改完sshd_config文件后,重启ssh服务:service ssh restart 4. 利用默认单个私钥实现免密登录 这样就可以实现免密登录了:ssh root@remoteip 5. 通过设置~/.ssh/config文件实现不同服务器用不同私钥文件的需求 可以配置config文件,简化登录操作 vim config #编辑如下 ############################## Host nickname #指定登录别名 HostName amazon.com #指定IP或者HOST Port 22 #指定端口,默认22 User username #指定用户名 IdentityFile ~/.ssh/id_rsa #指定私钥文件 ############################## 保存之后,可以简化登录:ssh nickname |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |