1. 首先你要有一个无密码的用户。2. 修改ssh配置文件,步骤如下:1) 修改 /etc/ssh/sshd_config 文件中 PermitEmptyPasswords 这个参数为yes(即允许空密码的用户登录,默认是no)2) 重启 ssh服务,service ssh restart3) 重新登录ssh,即可无密码登录。1. 登陆linux服务器2. 创建公钥文件存放位置并设置权限mkdir /root/.sshchmod 700 /root/.ssh3. vi /root/.ssh/authorized_keys 把公钥里边的内容复制到里边然后保存即出,只有一行的。注意哦。(这也是为什么我当时用puttygen创建公钥之后复制用记事本保存的原因,因为用软件保存的分几行。)4. 重启ssh service sshd restart5. 登录测试6. 禁用密码登录# vi /etc/ssh/sshd_config passwordauthentication no //禁止使用基于口令认证的方式登陆pubkeyauthentication yes //允许使用基于密钥认证的方式登陆 # /etc/init.d/sshd reload
2,linux ssh怎么免密登录
你好,首先需要在服务器端设置/etc/ssh/sshd_config# vim /etc/ssh/sshd_config修改如下两行为yes。其实大多数情况下不用修改,默认就是yes。RSAAuthentication yesPubkeyAuthentication yes(1) 如果客户机和服务器都是Linux机器,那么我们使用下面的方法:(后面第2节会提到怎么在Windows下使用Putty生成密钥对)我们需要在客户端生成RSA密钥对。使用ssh-keygen命令:# ssh-keygen -t rsa参数t的意思是type,后面跟着加密类型,这里我们是rsa。然后会提示你输入密钥保存完成文件名,这里我们需要使用默认的id_rsa,之后才能正常才能登录。如果你生成的密钥作为其他用处,那么可以命名为其他名称:Generating public/private rsa key pair.Enter file in which to save the key (/home/cake/.ssh/id_rsa):之后会提示你输入一个passphrase,我们这里可以留空,这样我们登录的时候就不许输入密码。Enter passphrase (empty for no passphrase):Enter same passphrase again:然后会提示你密钥生成成功。这是你的私钥保存为~/.ssh/id_rsa,你的公钥是~/.ssh/id_rsa.pub我们现在需要做的是,把id_rsa.pub的内容,添加的服务器端的~/.ssh/autherized_keys文件最后。你可以把这个文件上传到服务器端,然后使用命令:# cat id_rsa.pub >> ~/.ssh/autherized_keys到这里就完成了。(2) 在Windows下使用Putty生成密钥对:Putty的安装目录下有个puttygen.exe程序,我们运行这个程序。之后点击Generate,开始生成密钥对。我们需要根据提示,在指定方框内随机滑动鼠标。这是为了根据鼠标轨迹,产生一些随机数据。之后生成结束,我们点击Save Private Key将私钥存放在某个目录中。然后赋值最上面文本框中的全部内容,粘贴到Linux服务器端的autherized_key的最后。我们现在可以关闭这个小程序。现在打开Putty,在左边的选项中,选择Conneciton–SSH–Auth,在Private key file for authentication中,选择刚才保存的私钥路径就可以了。到此位置,Putty也可以不用密码登录了。.ssh是目录,所以要有执行权限,authorized_keys只需要读写权限即可,无需执行,虽然authorized_keys给了执行权限也不会有什么危险,但是从安全策略的权限最小化原理来说,给600足够了