Linux入门学习——ssh基础操作

来源:互联网 发布:stc单片机rst电路原理 编辑:程序博客网 时间:2024/06/18 12:44

接下来的学习中我们就会需要用到两个虚拟机互相的互动,如果想让两个不同的主机能相互连接互动的话,首先就需要调整两个主机的ip地址,那什么是ip呢,ip也叫网络之间互联的协议。也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。ip地址具有唯一性。(摘自百度词条)也就是说,ip相当于一个身份,有了这个身份才可以与别的主机进行互联。

首先我会列出如何查看本机的ip以及如何进行设置。

查看ip:ifcongfig。可查看本机中所有正在使用的ip及其网络环境。


修改以及添加ip:/etc/sysconfig/netowrk-scripts/ 这个目录下可查看当前主机的网络配置文件。

打开其中一个就是这个样子的(不过记住,这里面只有ifcfg-eth0是网络ip配置文件,可以修改,其他的为网络环境配置文件,不可以修改。想要重新添加一个配置文件就同vim就可以了。)


一.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 be established.
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:47 2016
[root@server0 ~]#                    ##登陆成功


成功运行这个命令首先需要连接方和被连接方都关闭防火墙,关闭防火墙的命令在前文提到过,就是系统服务那一节,因为防火墙也属于系统服务的一种。
ssh 远程主机用户@远程主机ip -X                ##调用远程主机图形工具
ssh     远程主机用户@远程主机ip        command        ##直接在远程主机运行某条命令

被连接的主机同样可以查看当前状态是否有其他主机连接自己。


这里面那个from 172.25.1.10就是来自ip为172.25.1.10的进程的信息


三.sshkey加密

1.生成公钥私钥
[root@server0 ~]# ssh-keygen         ##生成公钥私钥工具
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):[enter]     ##加密字符保存文件(建议用默认)
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):         [enter]        ##密钥密码,必须>4个字符
Enter same passphrase again:                 [enter]        ##确认密码
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:                        
ab:3c:73:2e:c8:0b:75:c8:39:3a:46:a2:22:34:84:81 root@server0.example.com
The key's randomart image is:
+--[ RSA 2048]----+
|o                |
|E.               |
|..               |
|.  . o           |
|.o. * . S        |
|oo.o o   .       |
|+ =. .  .        |
|o. oo.+..        |
|    ..o*.        |
+-----------------+


[root@server0 ~]# ls /root/.ssh/
id_rsa  id_rsa.pub
id_rsa        ##私钥,就是钥匙
id_rsa.pub    ##公钥,就是锁


2.添加key认证方式
[root@server0 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub  root@172.25.0.11
ssh-copy-id        ##添加key认证方式的工具
-i            ##指定加密key文件
/root/.ssh/id_rsa.pub    ##加密key
root            ##加密用户为root
172.25.0.11        ##被加密主机ip


3.分发钥匙给client主机
[root@server0 ~]# scp /root/.ssh/id_rsa root@172.25.0.10:/root/.ssh/


4.测试

[root@desktop0 ~]# ssh root@172.25.0.11        ##通过id_rsa直接连接不需要输入用户密码
Last login: Mon Oct  3 03:58:10 2016 from 172.25.0.250
[root@server0 ~]#


四.提升opensshd的安全级别

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


3.ssh登陆提示修改该
vim /etc/motd        ##显示登陆后字符

hello world        ##在登陆后就会显示这个字符


这个上面就是我写的内容,在前面的截图也可以看到,具体自己想写什么就可以写什么