SSH使用密钥登录并禁止密码登录
#1 新建用于登录的用户
useradd -p `echo "KYmO4ClPt1" | openssl passwd -1 -salt $(< /dev/urandom tr -dc '[:alnum:]' | head -c 32) -stdin` 9pZ7IER8
KYmO4ClPt1: 用于ssh登录的用户密码
9pZ7IER8: 用于ssh登录的用户名
#2 切换到登录用户
su 9pZ7IER8
#3 创建用于存放秘钥的文件夹,路径/home/ssh用户
cd
mkdir .ssh
cd .ssh
#4 生成SSH密钥对
PS:密钥生成后一定先传输到本地,防止无法连接到远程主机,并且要记录密码密码。
ssh-keygen -t rsa

#5 注册公钥文件
cat id_rsa.pub >> authorized_keys
chmod 644 authorized_keys
cd ..
chmod 700 .ssh
#6 切换到root用户,修改ssh配置文件
su root
#7 开启RSA验证
sed -i -e 's/#RSAAuthentication yes/RSAAuthentication yes/g' /etc/ssh/sshd_config
sed -i -e 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/g' /etc/ssh/sshd_config
sed -i -e 's/#AuthorizedKeysFile/AuthorizedKeysFile/g' /etc/ssh/sshd_config
#8 禁止用户采用password登录
sed -i -e 's/#AuthorizedKeysFile/AuthorizedKeysFile/g' /etc/ssh/sshd_config
sed -i -e 's/PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config
sed -i -e 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config
#9 禁止用户以root身份进行登录
sed -i -e 's/#PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config
#10 修改端口号
sed -i -e 's/#Port 22/Port 41042/g' /etc/ssh/sshd_config
#11 修改iptables
sed -i '11s/^/\-A INPUT -m state --state NEW -m tcp -p tcp --dport 41042 -j ACCEPT\n/g' /etc/sysconfig/iptables
service iptables restart
#12 重启sshd服务
PS:执行下面操作前,确认密码在本地,防止无法连接到远程主机。
service sshd restart
SSH使用密钥登录并禁止密码登录的更多相关文章
- SSH公钥登录且禁止密码登录及更改默认端口
1.ssh生成公私钥 ssh-keygen -t rsa -C "zhangsan@qq.com" 生成密钥的位置如下,id_rsa是私钥.id_rsa.pub是公钥: ➜ .ss ...
- 服务器使用ssh秘钥登录并禁止密码登录
问题: 最近在登录服务器的时候,每次都会有提示999+ falied login等字眼,意思就是自己的服务器密码正在被人暴力破解.想象以下,别人有了你的服务器的root登录密码,那么就可以对你的服务器 ...
- Linux生成ssh密钥免密登录,允许/禁止密码登录,允许/禁止root远程登录,更改ssh端口
进入想要使用密钥登录的用户家目录 cd 或 cd ~ 执行密钥创建命令,不行可能需要下载openssh-server与openssh-client ssh-keygen -t rsa -P " ...
- SSH 使用密钥登录并禁止口令登录
小结:修改下sshd配置文件,把公钥传上去就好了 先生成公钥和私钥,默认在/root/.ssh/目录,可以先看一下有没有这个目录. 生成公钥后,以后其它服务器也都可以复用这个公钥 最好生成时输入密码! ...
- ssh 公钥登录远程主机 并禁止密码登录
https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys-on-centos7 如果在新的机器上,得先用密码登录一 ...
- SSH配置—Linux下实现免密码登录
首先,假设我们有两台服务器,服务器名称分别是 master 和 slave1,我们现在需要做的就是在服务器 master 上面登录 服务器 slave1 不需要输入密码就可以登录成功,如下图所示. 下 ...
- ssh的配置,ssh打开密钥登陆,关闭密码登陆。
刚装玩fedora,那么我们就以fedora为例来说一下怎么配置: 1.先确认是否已安装ssh服务: [root@localhost ~]# rpm -qa | grep openssh-server ...
- centos的key登录,关闭密码登录
1.删除机器原有的key rm -rf /root/.ssh 2.创建key[root@rain ~]# ssh-keygen -t rsa一路回车 3.改名[root@rain ~]# mv /ro ...
- shiro整合shiro多验证登录(账号密码登录和使用手机验证码登录)
1. 首先新建一个shiroConfig shiro的配置类,代码如下: @Configuration是标识这个类是一个配置文件,在启动时会加载这个类里面的内容,这个配置文件的位置的一定一定一定不能 ...
随机推荐
- 使用Sandcastle 基于代码注释生成接口文档
一. 工具下载: 1. Sandcastle:Sandcastle是微软官方的文档生成工具,下载地址:http://www.codeplex.com/Sandcastle 2. SHFBGuidedI ...
- java 枚举的写法
1.第一种形式: public interface PrealertConstants { enum platformCodeEnum{ CAINIAO(1), CLOSED(-5), OFFLINE ...
- AJAX的例子
var XMLHttpReq; //根据不同的浏览器创建不同的XMLHttpRequest对象function createXMLHttpRequest() { if (window.XMLHttp ...
- java工具类使用
ResourceBundle bundle = ResourceBundle.getBundle("res", new Locale("zh", "C ...
- PHP中用下划线开头的含义
命名的规则 加一个为私有的 加两个一般都是系统默认的,系统预定义的,即所谓:=====================“魔术方法”与“魔术常量”=====================★PHP起止为 ...
- go-statsd项目
linux命令: 进程:top 收包丢包:netstat -su[c持续输出] go tool pprof: 我们可以使用go tool pprof命令来交互式的访问概要文件的内容.命令将会分析指定的 ...
- MySQL修改字符集编码
通过修改字符集编码为utf8,彻底解决中文问题. 一. 登录MySQL查看用SHOW VARIABLES LIKE 'character%':下字符集,显示如下: +----------------- ...
- PHP---初探PHP
初探PHP 虽然说前后端分离,但作为前端还是要跟数据打交道的,所以对后台语言的了解还是很有必要的.今天要学的就是PHP. 什么是PHP? PHP(外文名:PHP: Hypertext Preproce ...
- RMAN中format的参数
(转自:http://blog.chinaunix.net/uid-23079711-id-2554290.html) format 的替换变量,注意大小写! 1. %d --数据库的db_n ...
- js自定义对象.属性 笔记
<一> js自定义对象 一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类.Hashtabl ...