SSH使用密钥登录并禁止密码登录
Posted alsoalso
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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使用密钥登录并禁止密码登录的主要内容,如果未能解决你的问题,请参考以下文章