1. ifconfig -a
查看IP地址, 还可以用于配置网口。
ifconfig -a
2. ping
ping命令: 检测到IP地址的连接是否正常。命令开始后由本机发送数据包a,目标主机接受数据包后回送数据包b。本机接收到数据包b之后,打印通讯时间,时间越短网速越快。(Ctrl +c 停止输出)
ping 127.0.0.1 # 环回地址(127.0.0.1):检测本机网卡是否工作正常
ping www.baidu.com # 目标主机IP地址:检测到目标主机的连接是否建立
3. ssh
ssh(secure shell) 是一种进行安全远程登录和实现其他安全网络服务的协议。
特点:[安全] 数据传输是加密的,防止信息泄露。[快速] 传输数据进行压缩,加快传输速度。
ssh 通讯需要 ssh服务器 + ssh客户端, Ubuntu与Mac默认安装这两者,window需要安装客户端软件。
# 安装openssh-server 服务器
sudo apt-get install openssh-server
ssh -v 3 查看ssh服务器是否安装成功
3.1 登入远程服务器
# ssh 登入远端服务器
ssh [-p port] user@remote
# user: 用户名,例如 Ubuntu中有一个abc用户
# remote: 远服务器的地址(IP/域名/别名/主机名)
# port: ssh服务器远程监听的端口,如果不确定,默认值为22
# (由于胖胖是个小气鬼,此处没有示例图片!气呼呼!)
相关概念:
域名: 利用IP地址能够快速找到任何一台连接上网的计算机,但是IP地址不好记。域名应运而生,域名用点分割的,是IP地址的别名,方便用户记忆(如 www.baidu.com)
端口号:通过IP地址找到计算机后,通过端口号找到安装在计算机上的服务器软件。每种服务器都有默认的端口号,
web 服务器默认的端口号是80,ssh 服务器默认的端口号是22,HTTPS默认的端口号445,FTP服务器默认的端口号 21。
常见报错
角色:机B-ssh服务器,机A-ssh客户端
报错:ssh: connect to host xxx.xxx.xxx.xxx port 22: Connection refused。
解决:需要机B配置成ssh服务器,支持ssh连接。
3.2 配置登入别名
user@remote大多难以记住,可使用别名登入,修改配置文件 ~/.ssh/config 即可。
vim ~/.ssh/config
# 添加如下内容
Host xxx(别名) # 就可以使用这个字段进行登入
HostName xxx(ip)
User xxx(用户名)
# 使用别名登入
>ssh xxx(别名)
参考博文:https://blog.csdn.net/xlgen157387/article/details/50282483
3.2 免密传输
SSH提供两种认证方法:
• 基于口令认证(password认证):客户端 向 服务器发出password认证请求,将用户名和密码加密后发送给服务器,服务器将该信息解密后得到用户名和密码的明文,与设备上保存的用户名和密码进行比较,并返回认证成功或失败消息。
• 基于密钥认证(publickey认证):[客户端]产生一对公共密钥,将公钥保存到将要登录的服务器上的那个账号的home目录下的.ssh/authorizedkeys文件中。认证阶段:
- 客户端将公钥传给服务器端。
- 服务器端收到公钥后会与本地该账号家目录下的authorizedkeys中的公钥进行对比,如果不相同,则认证失败;否则服务端生成一段随机字符串,并先后用客户端公钥和会话密钥对其加密,发送给客户端。
- 客户端收到后将解密后的随机字符串用会话密钥发送给服务器。如果发回的字符串与服务器端之前生成的一样,则认证通过,否则,认证失败。
密钥 理解成一把钥匙, 公钥 理解成这把钥匙对应的锁头。将客户端共钥 放在 服务器里,基于密钥的认证,联合scp 可实现免密传输。
参考文档: 详解linux下实现不同主机之间ssh免密登录
ssh-keygen(linux 命令) 创建 private key(私钥) , public key (公钥),实现ssh,scp,sftp命令无密码连接