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

时间: 2024-10-16 03:11:57

SSH使用密钥登录并禁止密码登录的相关文章

设置SSH仅秘钥登录,禁止密码登录

/etc/ssh/sshd_config # $OpenBSD: sshd_config,v 1.80 2008/07/02 02:24:18 djm Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. # This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin # T

设置ssh证书登录,禁止root登录,禁止su到root,sudo权限设置

一.设置ssh证书登录,禁止root登录 useradd newuser passwd newuser vim /etc/ssh/sshd_config PermitRootLogin no RSAAuthentication yes PubkeyAuthentication yes PasswordAuthentication no ClientAliveInterval 30 ClientAliveCountMax 5 二.禁止su vim /etc/pam.d/su auth requir

Linux安全之SSH 密钥创建及密钥登录,禁止密码登陆

//参考原文链接 他们有图哦https://blog.csdn.net/nahancy/article/details/79059135 http://www.runoob.com/w3cnote/set-ssh-login-key.html 首先进入Linux系统的用户目录下的.ssh目录下,root用户是/root/.ssh,普通用户是/home/您的用户名/.ssh,我们以root用户为例: cd /root/.ssh 执行ssh-keygen命令创建密钥对, ssh-keygen -t

ssh使用密钥自动登录,禁止口令登录

1.配置私钥A主机[[email protected] ~]# ssh-keygen -t rsa #[生成密钥,会生成一个私钥和一个公钥,直接回车,那么以后你登录服务器就不会验证密码,否则会要求你输入passphrase,默认会将私钥放在/root/.ssh/id_rsa, 公钥放在/root/.ssh/id_rsa.pub.] [[email protected] ~]# cd /root/.ssh/ #[将公钥拷贝到远程服务器上的/root/.ssh/authorized_keys文件]如

SSH配置—Linux下实现免密码登录

首先,假设我们有两台服务器,服务器名称分别是 master 和 slave1,我们现在需要做的就是在服务器 master 上面登录 服务器 slave1 不需要输入密码就可以登录成功,如下图所示. 下面开始我们的配置步骤 1.服务器 master 上生成密钥 可以通过使用 ssh-keygen 命令来生成,我们可以先使用 man 命令或者是 help 命令查看具体需要哪些参数以及具体信息. 通过执行命令 ssh-keygen -t rsa 来生成我们需要的密钥. 执行上面的命令时,我们直接按三次

ssh的配置,ssh打开密钥登陆,关闭密码登陆。

刚装玩fedora,那么我们就以fedora为例来说一下怎么配置: 1.先确认是否已安装ssh服务: [[email protected] ~]# rpm -qa | grep openssh-server openssh-server-5.3p1-19.fc12.i686 (这行表示已安装) 若未安装ssh服务,可输入: #yum install openssh-server 进行安装 2.winscp登陆,用root密码登陆. 3.修改配置文件: #vi /etc/ssh/sshd_conf

SSH打通密钥后仍需要密码

其他原因导致的此问题:一.配置文件sshd_config需要设置 vim /etc/ssh/sshd_config RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys 重启SSH服务 二.文件权限问题 chmod 700 ~/. ssh / chmod 700 /home/userName chmod 600 ~/. ssh /authorized_keys 如果非上述原因导

Vue(vue+node.js+mongodb)_登录注册(密码登录)

一.前言 1.密码登录(分析) 2.验证码部分 3.提交表单 4.保存显示 5.完善功能,首页中如果登录成功之后显示的是图标,没有登录显示的是“注册登录” 6.处理bug(当我们一刷新之后当前登录的信息都没有了) 二.主要内容 1.密码登录(分析) (1)第一步用户输入先提交登录表单信息 2.验证码部分 这里显示的验证码,在通过异步调用获取到,并且在后端存进session中 (1)前端部分 <!--获取验证码:前端--> <input type="text" maxl

SSH使用密钥登录并禁止口令登录实践

生成PublicKey Linux:ssh-keygen -t rsa[私钥 (id_rsa) 与公钥 (id_rsa.pub)]Windows:SecurCRT/Xshell/PuTTY[SSH-2 RSA 2048] 1 #生成SSH密钥对 2 ssh-keygen -t rsa 3 4 Generating public/private rsa key pair. 5 #建议直接回车使用默认路径 6 Enter file in which to save the key (/root/.s