背景

每次登录需要输入复杂的密码,而且不停的有人在尝试登录root账户。感觉心慌慌,所以不得不设置更加安全的登录方式。

配置SSH无密码登录需要4步

  1. 准备工作
  2. 生成公钥和私钥
  3. 导入公钥到认证文件,更改权限
  4. 测试

1. 准备工作

确认本机sshd的配置文件(需要root权限)

vi /etc/ssh/sshd_config 

1)修改以下内容

RSAAuthentication yes #设置开启使用RSA算法的基于rhosts的安全验证;如RSAAuthentication没有则自行添加。
PubkeyAuthentication yes #设置开启公钥验证;
AuthorizedKeysFile .ssh/authorized_keys #后面的目录,是你上传的公钥所保存的文件;
StrictModes no #意思是设置关闭ssh在接收登录请求之前先检查用户家目录和rhosts文件的权限和所有权。
PasswordAuthentication no #禁止使用密码验证登录

UseDNS=no #加速SSH登录

2)先别急着重启sshd服务

先导自己需要的密钥在重启服务,不然你懂的远程不要想登陆了。

2. 生成公钥和私钥

生成公钥有三种方法:

1)使用命令

cd /root/.ssh
ssh-keygen -t rsa

这个我没测试过

2)使用SecureCrt生成密钥并上传

工具Tools-创建公钥Create Public Key

KeyType:RSA

设置公钥的密码,密码用于以后登录时使用。也可以不输入密码

设置公钥长度:这里用默认的2048就行了

设置公钥的文件名,这里设置的id_rsa

生成后会得到以下两个文件,其中.pub后缀时公钥,无后缀的文件时私钥(xftp用)

3. 导入公钥到服务器,更改权限

1)我们复制一个公钥文件[id_rsa.pub]命名为[authorized_keys].

2)将[authorized_keys]用xftp等上传到 /root/.ssh/ 下覆盖原文件即可。

3)在服务器上更改文件权限

chmod  /root/.ssh
chmod /root/.ssh/authorized_keys

4)重启ssh服务

#CentOS 7之前的版本请执行:
service sshd restart
#CentOS 7请执行:
systemctl restart sshd.service

4. 测试使用SecureCrt登录

Secure进入管理密钥菜单,添加之前创建的私钥文件,输入密码。

尝试登录,登陆成功。

如果不能登录成功,那一定是SELinux惹的祸。

ps为了这个我弄了好长时间,入门难!

我们可以尝试关闭SELinux

暂时关闭(重启后恢复):

setenforce   

永久关闭(需要重启):

vi /etc/selinux/config
SELINUX=disabled
 

Linux设置SSH登录(SecureCrt)的更多相关文章

  1. 给Linux设置SSH登录邮件提醒

    给Linux设置SSH登录邮件提醒 心血来潮,用 last 命令查看了登录记录,不看不知道,一看就有问题.竟然有两个陌生的IP ,一个是美国欧莱雅的,一个是北京联通的.真是郁闷,密码简单了真不行 后来 ...

  2. 记录两篇关于linux设置ssh登录 和NAT网络模式下访问

    https://blog.csdn.net/java_dotar_01/article/details/76942563 https://blog.csdn.net/jiuduan2009/artic ...

  3. linux中ssh登录Permanently added (RSA) to the list of known hosts问题解决

    文章出自http://www.2cto.com/os/201307/227199.html linux中ssh登录Permanently added (RSA) to the list of know ...

  4. centos6创建用户,设置ssh登录

    创建用户 #创建用户 useradd -s /sbin/nologin mysql useradd –d /usr/china -m china #设置密码 passwd mysql passwd c ...

  5. Jenkins踩坑系列--你试过linux主机ssh登录windows,启动java进程吗,来试试吧

    一.问题概述 在一个多月前,组长让我研究下持续集成.我很自然地选择了jenkins.当时,(包括现在也是),部分服务器用的是windows主机. 我当时想了想,如果我把jenkins装在windows ...

  6. 使用 Linux 终端 SSH 登录 VPS

    Windows 中远程 SSH 登录 VPS 进行管理的利器是 PuTTY,但是 Linux 中就没必要用它了.Linux.Unix(包括 Mac iOS)都必然有内置的命令行终端,内建了 OpenS ...

  7. Linux服务器---ssh登录

    Ssh登录     Ssh是建立在应用层和传输层的安全协议,专门为远程登录回话和其他网络服务提供安全性.利用ssh可以有效的防止远程管理中的信息泄露问题,同时ssh传输的数据是经过压缩的,可以加快传输 ...

  8. Debian 7(Linux) 安装SSH使用SecureCRT连接配置

    1 Debian 安装 ssh2 首先确保你的Debian或者linux安装ssh并开启ssh服务 Debian和ubuntu的安装方法一样,只要源OK的话,可以直接安装 apt-get instal ...

  9. Linux修改SSH登录端口

    Linux的默认登录端口为:22,为系统安全运维都会将端口改成其它端口. 假如我们修改的端口为:3000 1.首先要配置防火墙,允许此端口通行. /sbin/iptables -A INPUT -p ...

随机推荐

  1. CentOS7.4使用KVM

    参考地址 [root@node1 ~]# cat /etc/centos-release CentOS Linux release 7.4.1708 (Core) [root@node1 ~]# un ...

  2. C#/.NET基于Topshelf创建Windows服务程序及服务的安装和卸载(极速,简洁)

    本文首发于:码友网--一个专注.NET/.NET Core开发的编程爱好者社区. 文章目录 C#/.NET基于Topshelf创建Windows服务的系列文章目录: C#/.NET基于Topshelf ...

  3. iOS开发基础篇-transform属性

    一. transform 属性 在OC中,通过 transform 属性可以修改对象的平移.缩放比例和旋转角度. 1)创建“基于控件初始位置”的形变  CGAffineTransformMakeRot ...

  4. 容器中的JVM资源该如何被安全的限制?

    前言 Java与Docker的结合,虽然更好的解决了application的封装问题.但也存在着不兼容,比如Java并不能自动的发现Docker设置的内存限制,CPU限制. 这将导致JVM不能稳定服务 ...

  5. 随心测试_软测基础_002_<测试工程师_核心技能体系>

    测试工程师核心技能体系构成 测试基础体系:[对象——>方法——>流程].[测试活动类型——>质量] 测试分析体系:[测试对象分析]——>[测试设计(计划.数据.用例.文档)] ...

  6. Linux利用mysql建立数据库

    安装数据库: sudo   apt-get  install  mysql-server   启动服务: sudo  service  mysql  start  连接数据库:sudo    mysq ...

  7. Kubernetes — 作业副本与水平扩展

    Deployment 看似简单,但实际上,它实现了 Kubernetes 项目中一个非常重要的功能:Pod 的“水平扩展 / 收缩”(horizontal scaling out/in). 这个功能, ...

  8. jmeter beanshell 中使用map

    1.使用第三方jar包的时候可以放在lib目录下也可以放在lib/ext目录下,放在这两个目录都可以引用jar包成功,通过引用json的jar包在另个目录都实验过成功. 2.通过学习知道可以在bean ...

  9. linux 定时下载github最新代码

    场景:网站的代码在github上托管,静态网站部署在服务器上,每次自己修改完本地代码后,提交到github上,需要自己去服务器上执行git pull 拉取最新代码, 为了解决这种操作,自己再服务器上  ...

  10. saltstack之自动化运维

    引入 简介 saltstack是由thomas Hatch于2011年创建的一个开源项目,设计初衷是为了实现一个快速的远程执行系统. 早期运维人员会根据自己的生产环境来写特定脚本完成大量重复性工作,这 ...