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 ...
随机推荐
- Micro-PaaS(Docker+K8S)
1.概述 Docker是一种Linux容器工具集,它是为构建(Build).交付(Ship)和运行(Run)分布式应用而设计的. Kubernates:是开源的容器集群管理系统.它构建在Docker技 ...
- Erlang generic standard behaviours -- gen_server hibernate
hibernate 主要用于在内存空闲时,通过整理进程的stack,回收进程的heap 来达到回收内存节省资源的效果. hibernate 可用于OTP 进程以及普通进程, hibernate 的官方 ...
- Ubuntu 16.04配置OpenGL教程
sudo apt-get install build-essential sudo apt-get install libgl1-mesa-dev sudo apt-get install libgl ...
- php 运行模式
1.php最常见的五种运行模式. CGI 通用网关接口 FastCGI 常驻内存的CGI CLI 命令行 Web模块 Apache等Web服务器 模块的形式加载php进程 ISAPI 已经不用了 2 ...
- Charles修改返回值的方法(构造返回值最大值的情况,比如100,99) (自己没有试过)
第一步:save respond到电脑 第二步:打开文件,修改相应的参数 第三步:导入修改后的文件 第四步:手机刷新数据,查看结果
- windows 我永远的最爱
我配置好这个真不容易.总结下,配置中没搞清楚发布远程日志网址的意思:每一个博客配置都不同,比如新浪.网易.51技术博客
- vue 跟路径加载缺少跟前缀
vue 加载资源失败:跟路径残缺,都是配置时 一个正斜杠 / 多余惹的祸
- EFCodeFirst使用Nuget更新数据库
在MVC开发中,习惯于使用EF作为数据库操作,相对于传统的Ado.Net的数据库操作方式,EF大大的节省了我们手写SQL语句的时间,即便是传统的使用代码生成的方式.EF操作数据库目前分为两种大的方式. ...
- 第十一章: Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解
HDFS的体系架构 整个Hadoop的体系结构主要是通过HDFS来实现对分布式存储的底层支持,并通过MR来实现对分布式并行任务处理的程序支持. HDFS采用主从(Master/Slave)结构模型,一 ...
- 03:TPCC 基准压测my.cnf
line: V1.3 mail: gczheng@139.com date: 2017-11-09 一.TPCC测试前准备 1.压测环境 配置 信息 主机 Dell PowerEdge R730xd ...