Linux服务器密钥安全登录

使用密钥登录的好处:1、省事,不用每次去敲用户名和密码;2、安全,密钥长度一般是1024位,比我们设的密码要长得多;

以下是为新用户jackson添加密钥登录的步骤。

1、添加用户,并添加到sudoer。

useradd jackson
passwd jackson

添加到sudo组

visudo

在 root ALL=(ALL) ALL 后添加 hubery ALL=(ALL) ALL

2、生成并添加公钥到Server

ssh-keygen -t rsa
sshssh-copy-id -i ~/.ssh/id_rsa.pub -p [port] [email protected]

本地添加私钥

vim ~/.ssh/config

添加以下内容

#iksdbsrvice 2
Host 192.168.0.122

    IdentityFile ~/.ssh/id_rsa

注意,Host前没有空格,IdentifyFile前为一个tab

3、修改ssh配置文件,路径为/etc/ssh/sshd_config,去注释或修改一下内容

#
Port 22000
#
PermitRootLogin no
#
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys

PermitEmptyPasswords yes
PasswordAuthentication no
UsePAM no
X11Forwarding yes

以上部分修改了sshd的端口,禁止了root用户的远程登陆,开启了密钥登录,禁止了密码登录。对于多个服务器的管理,我是直接替换的文件,这样简单且保持了一直性。

//local
scp -P [port] sshd_config  [email protected]:/your/home/
//server
sudo cp ~/sshd_config /etc/ssh/sshd_config

4、iptables设置

sudo iptables -I INPUT 1 -p tcp --dport 22000-j ACCEPT
sudo service iptables save

5、重启sshd服务,测试登录

sudo service sshd restart
ssh [email protected] -p [port]

注意:在没有测试通过之前,不要关闭之前打开的终端,这样即使是改错了,也是可以用这个终端改回来的。

时间: 2024-07-28 16:56:35

Linux服务器密钥安全登录的相关文章

华为公有云linux服务器上ssh登录的安全加固

linux服务器主要是通过ssh进行登录,但是在华为公有云上,如何保证登录安全性呢?本次以centos7为例,对ssh登录进行安全加固 修改默认端口 在linux上,修改ssh登录的默认端口,比如修改到5000 vim /etc/ssh/sshd_config 在第17行,将注释#删掉,修改为port 5000' 增加iptables开放端口5000 配置iptables #iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport

Linux 服务器免密登录

1:首先在Linux系统下创建RSA公钥和私钥:ssh-keygen -t rsa ,创建完成后会在/root/.ssh 下生成id_rsa文件 2:然后将id_rsa.pub 文件修改成authorized.keys ,里面存放客户端的公钥. 3:修改 /etc/ssh/sshd_config文件,指定授权公钥文件所在的位置,关闭root用户密码登录功能,开启公钥登录功能. #说明是否允许root用户登录 PermitRootLogin yes #是否是rsa认证 RSAAuthenticat

Linux服务器限制ssh登录,查看登录日志

网络上的服务器很容易受到攻击,最惨的就是被人登录并拿到root权限.有几个简单的防御措施: 1. 修改ssh服务的默认端口 ssh服务的默认端口是22,一般的恶意用户也往往扫描或尝试连接22端口.所以第一步就是修改这个默认端口 打开/etc/ssh/sshd_config,找到 Port 22 然后将22修改为其它没有被占用的端口,如1022.最好在1-1024之间,防止与用户进程端口冲突. 然后重启sshd即可 sudo /etc/init.d/ssh restart 2. 限制IP 首先修改

Zabbix监控记录linux服务器近期的登录情况

通过zabbix自定义Items来监控服务器半年内的登录次数信息.开始配置之前,需要编写脚本,用于获取服务器的登录情况,脚本如下: [[email protected] 09:14 AM ~ 1119]# cat logon_count.sh  #!/bin/bash # author: hm  email: [email protected] # system login count option=$1 count1=0 count3=0 count6=0 total0=$(last | gr

linux服务器密钥分发

1.密钥分发脚本(一般是管理机进行分发,批量管理服务器) #管理机创建公钥 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa >/dev/null 2>&1 #服务器密码统一,可以这样玩 password=123456 #分发密钥 for i in "192.168.10.10" "192.168.10.11" "192.168.10.12" do sshpass -p $password ss

Linux ssh密钥自动登录(转)

在开发中,经常需要从一台主机ssh登陆到另一台主机去,每次都需要输一次login/Password,很繁琐.使用密钥登陆就可以不用输入用户名和密码了 实现从主机A免密码登陆到主机B,需要以下几个步骤:1. 在主机A“~/.ssh/”目录下执行命令“ssh-keygen -t rsa”(生成过程中,一路回车),生成两个文件id_rsa和id_rsa_pub,这两个文件实际上是一个密钥对,id_rsa是私钥,id_rsa_pub是公钥:2. 将文件id_rsa_pub从主机A拷贝(可以使用scp命令

登录远程Linux服务器:报Host key verification failed错误

远程Linux服务器,报Host key verification failed错误.问题:使用其他电脑登录远程Linux服务器,可以登录,但其中一台电脑登录时报该错误.原因:是因为登录服务器时主机会把它的服务器登录标识证书记录下来,下次登录时会去比对之前的记录,由于系统重装,标识变了导致不能继续登录.解决:在客户端执行命令:ssh-keygen -R 要登录的服务器ip 错误详情和解决: LOVE:~ han$ ssh [email protected] @@@@@@@@@@@@@@@@@@@

如何在Windows系统上利用Telnet协议连接Linux服务器

Telnet协议是Internet远程登录服务的标准协议,它为用户提供了在本地计算机上完成远程主机工作的能力.很多终端使用者都习惯在计算机上利用Telnet会话来远程控制服务器.这里小编就分两步为大家演示如何在Windows系统上利用Telnet协议连接Linux服务器. 步骤一:在Windows系统上打开Telnet功能:  步骤二:在Linux系统上启用Telnet服务. 步骤一:Windows终端开启Telnet功能 1/由于在Windows Vista之后的版本默认并没有提供Telnet

SecurceCRT通过密钥方式登录Linux服务器

这里采用密钥密钥方式登录Linux服务器,而传统的密码认证方式存在很多方面的不足,如暴力破解.密码泄露.密码遗忘和密码复杂度大等问题会给运维工作带来一定的负担,采用密钥认证方式在一定程度上可以缓解或者解决密码认证的安全问题. 实验环境:192.168.2.11 CentOS release 6.4 (Final) SecureCRT and SecureFX 7.0 x86 1.创建SSH2密钥对. 2.密钥生成向导,直接下一步即可. 3.采用RSA密钥类型 4.生成保护设定的加密密钥的通行短语