1.sshd简介
sshd=secure shell
可以通过网络在主机中开启shell的服务
连接方式:
命令 | 用法 |
---|---|
ssh username@ip | 文本模式的链接 |
ssh -X username@ip | 被连接的主机如果有图形界面,则可以在链接成功后开启部分图形 |
以root用户远程连接172.25.254.120
⚠注意:
第一次链接陌生主机是要建立认证文件
所以会询问是否建立,需要输入yes
再次链接此台主机时,因为已经生成~/.ssh/know_hosts
文件所以不需要再次输入yes
2.sshd的key认证
生成钥匙和锁
ssh-keygen
上面显示的自定义的存放地址和密码可以直接跳过,就会自动生成默认的钥匙和锁
主机server生成钥匙和锁
用新的锁加密
ssh-copy-id -i 加密文件 用户@主机ip
例:ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.170 #为此ip下的root用户上锁
给172.25.254.170的root用户上锁
分发钥匙
scp /root/.ssh/id_rsa root@172.25.254.120:/root/.ssh/
给172.25.254.120的root用户分发可直接连接172.25.254.170的钥匙
测试
在客户主机中(172.25.254.120)
ssh root@172.25.254.170 ##连接时发现直接登录不需要root登录系统的密码认证
可以看到不需要密码就可以连接至172.25.254.170的root用户
简洁实用的操作
#最推荐的方法
ssh-copy-id -i ~/.ssh/id_rsa.pub $(username)@$(ip)
需求:当你需要访问一台linux服务器或两台服务器互相免密访问时,这时就需要ssh keys,创建办法是当前主机上执行命令:
ssh-keygen 或 ssh-keygen -t rsa 或 ssh-keygen -t dsa
A/B机器,如果A访问B免密,就把A的公钥给B,反之亦然
执行后会在当前用户登录目录下生成.ssh
目录和两个文件(/home/tomcat/.ssh
):
-rw------- 1 tomcat tomcat 1675 Oct 17 17:28 id_rsa
-rw-r--r-- 1 tomcat tomcat 393 Oct 17 17:28 id_rsa.pub
-rw-r--r-- 1 tomcat tomcat 412 Oct 17 17:23 known_hosts
id_rsa.pub里是公钥,如果需要登录到远程主机,需要到远程主机 /home/$USER/.ssh 目录下,新建authorized_keys文件,并将id_rsa.pub里的内容复制进去(也可以直接拷贝id_rsa.pub,并改名):
scp id_rsa.pub root@ip:~/.ssh/authorized_keys
#或者
scp id_rsa.pub root@ip:~/.ssh/
mv id_rsa.pub authorized_keys
#authorized_keys 已存在,为不影响之前的免密登录,就采用以下方法
cat id_rsa.pub >> authorized_keys
-rw-------. 1 root root 407 Jul 20 17:34 authorized_keys
-rw-r--r--. 1 root root 175 Aug 2 11:49 known_hosts
⚠注意:
新建后,需要更改authorized_keys文件的用户权限,不然文件无法生效,ssh公钥生效需满足至少下面两个条件:
1 .ssh目录的权限必须是700;
2 .ssh/authorized_keys文件权限必须是600;
执行下面命令
chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys
3.sshd的安全设定
命令 | 用法 |
---|---|
PasswordAuthentication yes/no | 是否允许用户通过登录系统的密码做sshd的认证 |
PermitRootLogin yes/no | 是否允许root用户通过sshd服务的认证 |
Allowusers xiaoma jiekouma | 设定用户白名单,白名单出现默认不在名单中的用户不能使用sshd |
Denyusers xiaoma | 设定用户黑名单,黑名单出现默认不在名单中的用户可以使用sshd |
4.添加sshd登录信息
命令 | 用法 |
---|---|
vim /etc/motd | 文件内容就是登录后显示的信息 |
先在motd
文件中写入内容,然后重启sshd
服务
首先修改motd文件内容
可以看到welcome
5.用户的登录审计
命令 | 用法 |
---|---|
w | 查看正在使用当前系统的用户 |
w -f | 查看使用来源 |
w -i | 显示IP |
⚠注意: 信息存储于/run/utmp
查看正在使用当前系统的用户
查看使用来源
显示IP
命令 | 用法 |
---|---|
last | 查看使用过并退出的用户信息(用户成功登入时记录,用户退出时不记录) |
⚠注意: 登录信息保存在/var/log/wtmp
查看使用过并退出的用户信息
命令 | 用法 |
---|---|
3.lastb | 试图登录但没成功的用户 |
⚠注意: 信息存储在/var/log/btmp
试图登录但没成功的用户
关于sshd的总结整理就是这些,记录于此以便以后学习的回顾。