securecrt免密码登录
一、前言
1. 环境
- 客户端系统:win7
- securecrt版本:6.0.2
- 服务端系统:centos6.5
- 服务端ssh实现:openssh
2. 关于认证方式
我们知道ssh一般都会提供多种客户端认证方式,其中最常用的是密码和公钥认证方式,本篇主要讨论公钥认证方式。有关客户端认证的过程与原理,可以看另一篇文章:ssh的发展历程与基本原理。
二、使用公钥认证登陆的优点
1、公钥认证允许使用空密码,省去每次登录都需要输入密码的麻烦
2、多用户管理服务器时,可以通过多个公钥登录同一用户下,可以避免因为密码认证被用户都需要密码,导致的密码容易泄密的危险。并且使用passwd修改密码,也不会影响到其他用户的登录。
3、做空密码的公钥认证,为运维自动化提供了便捷方法。
三、生成公钥和私钥
以下是使用securecrt生成公钥和私钥的主要步骤,不用修改的界面就不放出来了,直接点下一步就是了。

选择公钥的类型为RSA:

因为我们不想输入通行密码,所以密码直接留空,注释框写上自己想标注的内容就行了:

到了这一步,就是生成公钥的时候了,注意框出来的内容,securecrt在生成公钥的时候会根据鼠标的移动数据作为随机的因素去生成,如果你到了这个界面切到别的地方去了,可能回来的时候发现进度条还没动过。

key的格式选OpenSSH,完成。

生成有两个文件,一个公钥文件(Identity.pub)一个私钥文件(Identity),需要把Identity.pub的内容追加到服务器的文件~/.ssh/authroized_keys中,如果.ssh目录不存在,就创建一个:
mkdir ~/.ssh
chmod ~/.ssh
touch ~/.ssh/authroized_keys
chmod ~/.ssh/authroized_keys
注意:.ssh 目录的权限必须是0700,.ssh/authorized_keys 文件权限必须是0600,否则公钥认证不会生效。
四、服务端设置
我们想达成的目的有:
- 让客户端免密登陆
- 禁止客户端密码登陆
- 修改默认端口,避免外部攻击
1. 修改配置文件/etc/ssh/sshd_config
Port
PermitRootLogin yes
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
2. 重启sshd服务
service sshd restart
3. 如果有开防火墙,还需要修改防火墙配置
打开防火墙配置文件/etc/sysconfig/iptables,找到原来22端口的配置:
-A INPUT -p tcp -m state --state NEW -m tcp --dport -j ACCEPT
把22改成你想要改成的端口,这里是1357,修改完保存配置并重启防火墙。
service iptables restart
关于iptables的原理和基本用法,有兴趣可以看看另外一篇:深入浅出iptables。
五、登陆服务器
建立连接,把公钥选项提前,并去掉密码登陆选项,然后点开公钥的属性选项。

选择使用会话公钥设置,然后选择自己的私钥文件,ok。

如果是第一次连接,会提示你去辨别是否接受这个新的host key,选接受并保存。

然后就可以直接登陆服务器了。
六、总结及注意
本文主要简述从securecrt生成公钥/密钥到免密登陆服务器的过程,总体来说比较简单。
不过有的细节不注意就可能导致失败,譬如:
- 客户端和服务端的ssh版本对不上
- 生成key的类型不对
- 服务端.ssh目录或者授权文件的权限不对
- 服务器sshd配置修改错误或者修改完没有重启sshd服务
- 防火墙配置没有修改,或者没有重启防火墙
七、参考
1. ssh 公钥认证方式登录
(完)
securecrt免密码登录的更多相关文章
- ssh免密码登录、secureCRT免密码登录详解
再放一张真机实现图: 接下来就详细讲述实现细节. 实现过程中吃了不少苦头,这个不对,那个不通.好在慢慢一点点摸索出来了,经验分享在这里. 希望能终结网上ssh免密码登录,以及SecureCRT免密码登 ...
- Ubuntu使用ssh公钥实现免密码登录
ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以Ubuntu为例. 有机器A(10.0.2.1),B(10.0.2.100).现想A通过ssh免密 ...
- Linux使用ssh公钥实现免密码登录Linux
ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例.有机器A(192.168.1.155),B(192.168.1.181).现想A ...
- ssh免密码登录机器(使用公钥和秘钥进行加密来实现)
ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例. 登录的原理: 有机器A(192.168.1.155),B(192.168.1. ...
- ssh配置免密码登录
日常工作中很多情况下都需要登录服务器进行管理,一般都是用ssh进行连接,为了防止密码外泄,可以配置下ssh的免密码登录. 首先服务器两台: A:43.224.34.* B:104.238.161.* ...
- CentOS配置SSH免密码登录后,仍提示输入密码
CentOS配置SSH无密码登录需要3步: 生成公钥和私钥 导入公钥到认证文件,更改权限 测试 1.生成公钥和私钥 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 默 ...
- ssh 免密码登录
1.在本机下生成公钥/私钥对. ssh-keygen -t rsa -P '' -P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车.它在/home/yaoy ...
- Mac下到Linux主机ssh免密码登录
最近忙得忘乎所以,写篇博客放松放松,RT,直接上命令好了 # Local ssh-keygen -t rsa scp ~/.ssh/id_rsa.pub username@server:~/.ssh/ ...
- 如何配置ssh免密码登录
[TOC] 如果你在管理一堆unix机器,每次登录都要输入密码是挺烦的事情,一方面为了安全我们一般不会将所有机器的密码都设置成一样,另一方面就算一样每次都输入一遍也很麻烦. 这种情况下我们一般是用ss ...
随机推荐
- Unit01: Ajax介绍
Unit01: Ajax 1. ajax是什么? (asynchronous javascript and xml) ajax是一种用来改善用户体验的技术,本质是利用浏览器提供的一个 特殊对象(XML ...
- c#实现QQ群成员列表导出及邮件群发之邮件群发
主题已迁移至:http://atiblogs.com/ ITO-神奇的程序员
- [Java.Web]从零开始布署 Tomcat
1. 下载 JRE 1.7 2. 下载 Tomcat 7.0.77,我使用的是红圈的压缩包版本,也可以使用绿圈的安装包版本[更省心] 3. 加入环境变量 JRE_HOME .CATALINA_HOME ...
- 在CentOS 7中使用VS Code编译调试C++项目
1. 安装VSCODE 见VSCode官方链接 https://code.visualstudio.com/docs/setup/linux#_rhel-fedora-and-centos-based ...
- View.findViewById()和Activity.findViewById()区别
在网上看见View.findViewById() 和 Activity.findViewById()执行效率不一样 使用Activity.findViewById()如: TextView tv_in ...
- Ceph添加/删除Mon(ceph.conf)
操作环境 ceph 0.87.7 Openstack liberty ubuntu 14.04 当前ceph配置文件如下 [global]fsid = c010eb34-ccc6-458d-9a03- ...
- Angular.js中处理页面闪烁的方法详解
Angular.js中处理页面闪烁的方法详解 前言 大家在使用{{}}绑定数据的时候,页面加载会出现满屏尽是{{xxx}}的情况.数据还没响应,但页面已经渲染了.这是因为浏览器和angularjs渲染 ...
- java 红包规则
java 红包规则 拼手气红包: 规则:最大金额:全部金额/个数*倍数 最小金额:0.01 最后一个红包是全部金额-领取金额 随机分配 package com.utils; import java.m ...
- redis存session问题测试内容
转至元数据起始 官网,现网由于是双节点,session是存储在redis作为共享的. +1是单节点.目前是存储成文件的 本次的问题根源是 由于 session是存储在redis,所造成的. 所以需 ...
- Python实践练习目录
缘由 做中学才是最好的方法,通过这些项目来加强自己的Python掌握程度. 原则 成体系地学,不搞"题海战术" 通所有不如精一物,精一物方可通所有 走心学,忌浮躁 项目列表 字符串 ...