一.openssh-server
功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell二.客户端连接方式
ssh 远程主机用户@远程主机ip[root@desktop0 ~]# ssh root@172.25.0.11
The authenticity of host '172.25.0.11 (172.25.0.11)' can't beestablished.
ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
Are you sure you want to continue connecting (yes/no)? yes ##连接陌生主机时需要建立认证关系
Warning: Permanently added '172.25.0.11' (ECDSA) to the list of known hosts.
root@172.25.0.11's password: ##远程用户密码
Last login: Mon Oct 3 03:13:472016
[root@server0 ~]# ##登陆成功
如下例,现有server与desktop两台主机,现想用desktop主机远程登陆server主机;
首先,查看server主机ip地址:
再用desktop主机登陆:
ssh 远程主机用户@远程主机ip -X ##调用远程主机图形工具
ssh 远程主机用户@远程主机ip command ##直接在远程主机运行某条命令
(ctrl+d快速退出已登陆的主机)
三.sshkey加密
1.生成公钥私钥
2.添加key认证方式
[root@server0 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.1
ssh-copy-id ##添加key认证方式的工具
-i ##指定加密key文件
/root/.ssh/id_rsa.pub ##加密key
root ##加密用户为root
172.25.254.1 ##被加密主机ip
在密匙密钥生成了之后,需要把锁加入系统,让系统知道
可以看到公钥的内容:
与authorized_keys的最后一行内容一致,证明锁添加成功!
3.分发钥匙给client主机
4.测试
还有另一种简单些的方法,将自己的公钥发给要登陆的主机,则可直接实现上述功能:
四.提升openssh的安全级别
1.openssh-server配置文件/etc/ssh/sshd_config
78 PasswordAuthentication yes|no ##是否开启用户密码认证,yes为支持no为关闭
48 PermitRootLogin yes|no ##是否允许超级用户登陆
49 AllowUsers student westos ##用户白名单,只有在名单中出现的用户可以使用sshd建立shell
50 DenyUsers westos ##用户黑名单
(当一用户同时在黑名单与白名单里,则不可登陆)
2.控制ssh客户端访问
vim /etc/hosts.deny
sshd:ALL ##拒绝所有人链接sshd服务
vim /etc/hosts.allow
sshd:172.25.254.250 ##允许250主机链接sshd
sshd:172.25.254.250, 172.25.254.180 ##允许250和180链接
sshd:ALL EXCEPT 172.25.254.200 ##只不允许200链接sshd
例如,编辑/etc/hosts.deny,拒绝ip为172.25.254.1的主机登陆:
测试结果如下:
3.ssh登陆提示修改该
vim /etc/motd ##显示登陆后字符
例如,想在别的用户每次登陆这台主机时显示welcome,编辑/etc/motd:
再用另一台主机登陆,则会出现welcome: