远程登陆ssh
以下操作需要一个客户端和服务端两个虚拟机来完成。
打开两个虚拟机,可输入“nm-connectiong-editor”来修改ip
示例:
服务端设定:
ifconfig查看
客户端同理,ip设为172.25.254.100
1.openssh
当主机中开启openssh服务,那么就对外开放了远程连接的接口
sshd #openssh服务的服务端
ssh #openssh服务的客户端
rpm -q openssh-server ##查看版本信息
2.在客户端连接sshd的方式
ssh 服务端用户@服务端ip地址
ssh [email protected] ##在客户端用ssh命令连接172.25.254.101主机的root用户
##当当前主机第一次连接陌生主机时
##会自动建立.ssh/know_hosts
##这个文中记录的是连接过的主机信息
成功了,退出连接
注意:以上连接方式是不能打开远程主机的图形功能的如果需要打开远程主机图形功能需要输入 “-X”
ssh -X [email protected] 输入cheese是系统检测摄像头
vim /etc/hosts.deny ##禁止某ip连接,即改即生效
修改如下:
试试看效果:
vim /etc/hosts.allow ##允许某ip连接,优先级高于deny
修改文件
除了172.25.254.100都能连接
远程复制:
scp file root@ip:dir ##上传
scp root@ip:file dir ##下载
3.给ssh服务添加新的认证方式 KEY认证
(1)在服务端设置公钥
ssh-keygen -f /root/.ssh/id_rsa -N ''
[root@localhost ~]# ssh-keygen -f /root/.ssh/id_rsa -N ''
Generating public/private rsa key pair.
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
07:54:df:5b:65:4b:57:b8:64:2e:5f:c6:c2:01:74:7a root@localhost
The key's randomart image is:
+--[ RSA 2048]----+
| ....o..o*|
| . . +*.+|
| . o=E=.|
| . ..=o+|
| S . o.+ |
| . . |
| |
| |
| |
+-----------------+
(2)给服务端ip加密
ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected] ##原始认证关闭前加密
出现authorized_keys 加密成功
(3)关闭原始认证(禁止客户端输入密码的权限)
vim /etc/ssh/sshd_config
##78行原有的yes变成no
(4)重启服务
systemctl reload sshd.service
systemctl restart sshd.service
(5)分配钥匙给客户端
scp 文件 用户@主机ip:路径
scp /root/.ssh/id_rsa [email protected]:/root/.ssh/ #将密钥传给客户端
(6)禁止客户端连接服务器
rm -fr /root/.ssh/authorized_keys
(7)恢复客户端连接服务器
cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
4.sshd的安全设定
vim /etc/ssh/sshd_config
1)48 #PermitRootLogin yes|no ##是否允许root用户通过sshd服务认证
2)78 PasswordAuthentication yes/no ##是否允许用户通过登陆系统的密码做sshd的认证
3)52 AllowUsers student ##设定用户白名单,白名单出现默认不在名单中的用户不能使用sshd
##此时非root用户无法使用ssh,即便密码输入正确
4)53 DenyUser westos ##设定用户黑名单,黑名单出现默认不在名单中的用户可以使用sshd
4.添加sshd登陆信息
vim /etc/motd ##文件内容就是登陆后显示的信息
5.用户的登陆审计
(1)
w ##查看正在使用当前系统的用户
w -f ##查看使用来源
w -i ##显示IP
信息都在/run/utmp里
(2)查看使用过并退出的用户信息:last
信息都在/var/log/wtmp里
(3)试图登陆但没成功的用户:lastb
信息都在 /var/log/btmp里
)加密ssh用户的认证
在服务端
ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
ssh-copy-id ##加密命令
-i ##指定密钥
/root/.ssh/id_rsa.pub ##密钥
root ##加密用户
172.25.254.55 ##主机ip
####################此时客户端是可以通过密码连接的
[root@localhost ~]# ls -l /root/.ssh ##查看是否生成密钥
total 16
-rw------- 1 root root 2047 Jan 16 10:48 authorized_keys
-rw------- 1 root root 1679 Jan 16 10:38 id_rsa
-rw-r--r-- 1 root root 396 Jan 16 10:30 id_rsa.pub
-rw-r--r-- 1 root root 878 Jan 16 10:47 known_hosts
3)验证
#解密文件传输到客户端
scp 文件 用户@主机ip:路径
scp /root/.ssh/id_rsa [email protected]:/root/.ssh/ #将密钥传给客户端