在登陆Linux进行管理的时候我们通常会使用用户名和密码进行登陆,这样一来是比较麻烦,二来是不安全,为了解决这个问题,我们可以使用公私钥 (public keys和private keys)进行认证。简单来说公钥存放在服务器上,私钥存放在客户端,接下来看一下配置过程,首先以root身份登录服务器。

为了能够顺利使用key进行认证,首先确定ssh服务的Pubkey认证功能是否打开,执行命令:vi /etc/ssh/sshd_config,找到PubkeyAuthentication yes,看前面的#是否去掉,如果没有去掉的话把#去掉,然后执行:service sshd restart重启ssh服务使之生效。

接下来 在服务器上执行命令/usr/bin/ssh-keygen -t rsa,会看到如下提示:

Generating public/private rsa key pair.
        Enter file in which to save the key (/root/.ssh/id_rsa):

直接按回车,提示:Enter passphrase (empty for no passphrase):
        再次回车,提示:Enter same passphrase again:
        仍然按回车。然后执行 ls -l /root/.ssh/,会看到有几个文件:id_rsa,id_rsa.pub,known_hosts。其中id_rsa是我们在客户端使用的私钥文件,id_rsa.pub是在服务端的公钥文件。对id_rsa.pub进行重命名,

执行命令:mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys

然后将私钥文件id_rsa拷贝到我们要连接服务器的电脑上(可以使用ssh或者ftp等工具将文件下载下来)。如果我们是用putty进行登陆
Linux,还需要将key进行转换一下(putty的key格式和ssh-keygen生成的不同)。打开工具PUTTYGEN.EXE,选择
file-->Load private key

然后选择All Files(*.*),找到下载下来的id_rsa文件,选择

会提示
击确定回到PUTTYGEN的主界面,然后点击save private
key按钮,会有一个提示,直接点是(Y),选择保存路径并输入要保存的文件名,例如pri_key。到这里key的转换工作已经完成。下面可以使用
key进行登陆了。打开putty在Host Name (or IP
address)这一项输入要登录的用户和远程服务器IP,这里使用root用户登陆,ip地址是115.47.169.130则输入
root@115.47.169.130,然后在左侧选择Connection-->SSH-->Auth
在右侧选择Browse找到我们刚刚保存的pri_key,要保存本次session的话可以切换到Session在Save Sessions
输入想要保存的名字然后点击Save即可。点击Open我们会发现没有让我们输入用户名和密码就登陆成功了。如果想一直使用key进行认证可以把密码认证
关闭,编辑/etc/ssh/sshd_config将PasswordAuthentication
设置为no然后重启ssh即可,这样就无法通过用户名密码登陆了。

在Windows下不使用密码远程登陆Linux的更多相关文章

  1. windows下使用vnc viewer远程连接Linux桌面(转)

    在windows下使用vnc viewer远程连接Linux桌面,主要配置步骤: Linux: 1.rpm -qa vnc //查看是否安装vnc服务,如果没有安装,可以使用yum,或者rpm进行安装 ...

  2. 在Linux下不使用密码远程登陆其他Linux

    有时需要再一台Linux上登陆其他Linux服务器,通常可以直接使用SSH命令,加入两台服务器一台服务器A,IP地址192.168.1.2,另一台服务器B,IP地址192.168.1.3,如果想从A服 ...

  3. windows下如何使用ssh远程登录Linux

    1.ssh的安装 sudo apt-get install ssh 或者在Linux情况下,自带有ssh,从第二步开始   2.生成密钥 ssh-keygen 中间过程会提示你存放密钥的地方Enter ...

  4. 【Linux】SSH证书免密码远程登陆Linux(Putty)

    1.前言 新购置一台便宜服务器做数据库服务器,减轻Web服务器的压力. 为了安全性,root密码设置的非常复杂(随机生成),厌倦了拷贝密码登陆的历史. Putty基本用法都不会的请先花10分钟自行学习 ...

  5. Windows下mysql忘记密码的解决方法

    Windows下mysql忘记密码的解决方法 mysql5.0 http://www.jb51.net/article/21984.htm方法一: 1.在DOS窗口下输入 net stop mysql ...

  6. Windows下对postgre开启远程连接权限

    编辑 删除 前言:Windows下对postgre开启远程连接权限,下面是实际操作过程中的手顺 1.找到postgresql.conf文件,注意安装路径 D:\Program Files (x86)\ ...

  7. 在linux终端远程登陆linux服务器

    在linux终端远程登陆linux服务器   原来在Linux终端远程登陆linux服务器是那么的容易,如果的服务器用户名是abc(也可以是root),只需要在终端输入: 然后电脑会提示输入密码就登录 ...

  8. windows下编辑过的文件在Linux下用vi打开行尾会多出一个^M符号

    一般情况下,windows下编辑过的文件在Linux下用vi打开行尾会多出一个^M符号,如下图: 这是因为Windows等操作系统用的文本换行符和UNIX/Linux操作系统用的不同,Windows系 ...

  9. 解决Windows下编辑脚本上传到Linux后遇到^M的方法

    Windows下编辑脚本上传到Linux后遇到^M,导致脚本无法执行,原因是因为Linux与Windows对 "回车键" 编码不同 解决方法如下: 在使用UE->文件-> ...

随机推荐

  1. WinForm Excel导入

     主要代码如下: 定义一个DataSet   存放Excel读取的数据 /// <summary> /// Excel 表中读取的数据 /// </summary> publi ...

  2. Android自由行之走进zxing,轻松实现二维码扫描

    现在很多App都集成了扫一扫功能,最常用的微信.QQ.手机助手等.二维码也使得生活变得更加简洁,扫一扫订餐.扫一扫下载等等.那么,说到二维码,我们不得不提Google一个开源的扫码框架:zxing. ...

  3. Python递归遍历目录下所有文件

    #自定义函数: import ospath="D:\\Temp_del\\a"def gci (path): """this is a stateme ...

  4. 【转载】ShowWindow函数

    ShowWindow的API函数是显示窗体,但它在第一次调用和以后的调用是有差别的.第一次调用时,它的输入參数nCmdShow是须要输入WinMain函数里传入来的nCmdShow參数,而不能是其他參 ...

  5. Android SmsManager 发送短信

    SmsManager可以在后台发送短信,无需用户操作,开发者就用这个SmsManager功能在后台偷偷给SP发短信,导致用户话费被扣.必须添加android.permission.SEND_SMS权限 ...

  6. find——文件查找命令 linux一些常用命令

    find 命令eg: 一般文件查找方法: 1.  find /home -name file  ,  在/home目录下查找文件名为file的文件2.  find /home -name '*file ...

  7. iOS开源项目推荐|下拉刷新

    MJRefresh - 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能.可以自定义上下拉刷新的文字说明. CBStoreHouseRefresh ...

  8. Socket异步通信学习一

    最近在做一个频谱管理项目,负责通信模块,自己也是小白,重头学起,直至今天通信基本框架已经完成,把自己在学习中的心得与大家分享一下,做一个socket系列的博文,顺便加固一下自己对socket通信的认识 ...

  9. .Net设计模式_原型模式

    引言: 原型,感觉就是拷贝,只是给拷贝分了深拷贝和浅拷贝. 理解: 在C#.Net里面,我们可以很容易的通过Clone()方法实现原型模式. 任何类,只要想支持克隆,必须实现C#中的ICloneabl ...

  10. HTTP请求、响应报文格式

    HTTP请求报文格式: HTTP请求报文主要由请求行.请求头部.空行以及请求正文4部分组成 1,请求行由3部分组成,分别为:请求方式,URI(注意这里不是URL)以及协议版本组成,之间由空格分隔 请求 ...