背景

每次登录需要输入复杂的密码,而且不停的有人在尝试登录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. SkylineGlobe 7.0.1 & 7.0.2版本Web开发 如何正确使用三维地图控件和工程树控件

    Skyline TerraExplorer Pro目前正式发布的7.0.1&7.0.2版本,还只是64位的版本, 在Web开发的时候,如何在页面中正确嵌入三维地图控件,让一些小伙伴凌乱了. 下 ...

  2. service docker start后docker stop/waiting的解决方法

    在某次强行对机子断电后,再开机后发现docker没启动 运行service docker start显示docker start/running, process xxxx,之后不一会儿就停止了, 再 ...

  3. SoapUI 学习总结-01 环境配置

    遇到的问题 1,怎么SoapUI的Request URL不支持大写怎么办? 问题:在SoapUI的Request URL中,每次输入的URL中含有的大写字母会自动转换为小写字母,导致请求不了对应的地址 ...

  4. JVM-高效并发

    Java内存模型与线程: Java内存模型的目的是定义程序中各个变量的访问规则,此处的变量包括实例字段.静态字段和构成数组对象的元素,但不包括局部变量和方法参数,因为后者是线程私有的. Java内存模 ...

  5. You earned your Program Management Professional (PgMP)® Credential

    You earned your Program Management Professional (PgMP)® Credential. pasting

  6. 小程序——返回上个页面触发事件(onUnload)

    //页面销毁前--上传被提交的数据 onUnload:function(){ var _this=this; let updateStatus = wx.getStorageSync('UpdateS ...

  7. openstack网络基础:网络叠加模式VLAN、VxLAN、GRE

    什么是叠加网络1.一个数据包(或帧)封装在另一个数据包内;被封装的包转发到隧道端点后再被拆装.2.叠加网络就是使用这种所谓“包内之包”的技术安全地将一个网络隐藏在另一个 网络中,然后将网络区段进行迁移 ...

  8. Binary Search(Java)(递归)

    public static int rank(int[] array, int k, int front, int rear) { if(front > rear) return -1; int ...

  9. 使用FaceNet 图像相识度对比

    1. 模型结构:

  10. 《Effective C++》继承与面对对象设计:条款32-条款40

    条款32:确定你的public继承塑模出is-a关系 public继承意味着is-a.适用于base class身上的每一个函数也一定适用于derived class. 条款33:避免遮掩继承而来的名 ...