关机/重启命令
shutdown命令可以安全关闭 或者 重新启动系统,直接使用 shutdown命令,默认表示1分钟后关机.
命令格式: $shutdown [选项] <参数>
选项 | 功能 |
---|---|
[-r] | 重新启动 |
[-c] | 取消之前的关机计划 |
示例:
命令 | 效果 |
---|---|
$shutdown | 一分钟以后关机 |
$shutdown now | 立刻关机 |
$shutdown 22:00 | 在今天的22:00关机 |
$shutdown +10 | 10分钟以后关机 |
$shutdown +10 “System will shutdown after 10 minutes” | 10分钟以后关机,同时发出警告信息 |
$shutdown -c | 取消关机计划 |
reboot命令也可以用来重新启动正在运行的Linux操作系统。
效果和 shutdown -r now一样
网络配置命令
命令 | 功能 |
---|---|
ifconfig | configure a network interface,查看/配置计算机当前的网卡信息 |
ping | 测试与目标ip地址之间的连接是否正常 |
ifconfig命令
ifconfig命令被用于配置和显示Linux中网卡信息。
查看网卡信息
$ifconfig
快速定位IP地址
我们可以通过管道符号来简单显示出需要的信息:
$ifconfig | grep inet
一台计算机中可能会有一个 物理网卡 和 多个虚拟网卡,在Linux中物理网卡名字一般是 ensXX
127.0.0.1这个地址是一个比较特殊的地址,称之为本地回环地址,可以用来测试本机网卡是否正常工作。
ping命令
ping命令用来测试主机之间网络的连通性。执行ping指令会使用ICMP传输协议,发出要求回应的信息。一般用于检测计算机之间的网络通讯是否正常。
$ping IP地址
检测本地网卡是否正常
$ping 127.0.0.1
结束ping的执行使用Ctrl+C。在Linux中终止一个终端程序绝大多数都可以使用Ctrl+C
如果是从另外一台计算机实行ping操作,则需将防火墙设置中入站规则中的该两项打开:
SSH(Secure Shell)
简单说,SSH是一种网络协议,用于计算机之间的加密登录。
最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑。1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置。
OpenSSH:
SSH只是一种协议,存在多种实现OpenSSH就是其中一种,它是一款软件,应用非常广泛在Mac以及Ubuntu中都自带OpenSSH。
SSH的登录过程:
(1)远程主机收到用户的登录请求,把自己的公钥发给用户。
(2)用户使用这个公钥,将登录密码加密后,发送回来。
(3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。
SSH客户端命令 : ssh [-p port] user@remote
user 是远程端上的用户名,默认是当前用户
remote是远程端的地址,可以是IP/域名
port是远程端的端口,默认是22
Ubuntu下开启SSH
Ubuntu下SSH分
openssh-client(客户端)
openssh-server (服务端)
检测是否有开启ssh服务
~$ ps -e | grep ssh
其中sshd 为server端的守护进程,如果返回中没有出现sshd,那么很有可能系统中没有安装server端。或者ssh服务没有启动。
开启ssh服务
~$ sudo /etc/init.d/ssh start
返回为:[ ok ] Starting ssh (via systemctl): ssh.service.
如果显示上述命令找不到。那么是因为我们的Ubuntu系统默认没有服务端,所以可以通过下面命令安装。
$ sudo apt-get install openssh-server
可能出现的错误:
$ sudo apt-get install openssh-server
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:
下列软件包有未满足的依赖关系:
openssh-server : 依赖: openssh-client (= 1:7.1p1-4)
依赖: openssh-sftp-server 但是它将不会被安装
推荐: ssh-import-id 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
因为openssh-server 需要依赖openssh-client,但是很明显,我们系统自带的版本和目前要安装的server版本不同。所以我们重新安装一下client版本。
$ sudo apt-get install openssh-client=1:7.1p1-4
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
建议安装:
ssh-askpass libpam-ssh keychain monkeysphere
下列软件包将被【降级】:
openssh-client
升级了 0 个软件包,新安装了 0 个软件包,降级了 1 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 581 kB 的归档。
解压缩后将会空出 36.9 kB 的空间。
您希望继续执行吗? [Y/n] y
这样可以看到降级成功。然后我们再次安装openssh-server就OK了!
$ sudo apt-get install openssh-server
SCP(Secure copy)
scp scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。
命令格式: scp -P port 源文件路径 目标文件路径
命令 | 功能 |
---|---|
$scp -P port 123.txt user@remote:Desktop/a.txt | 将本地目录下的a.txt拷贝到远程桌面目录下 |
scp -P port user@remote:Desktop/a.txt a.txt | 把远程桌面目录下的a.txt文件 复制到 本地当前目录下 |
scp -r demo user@remote:Desktop | 把当前目录下的 demo 文件夹 复制到 远程 家目录下的 Desktop |
scp -r user@remote:Desktop demo | 把远程 家目录下的 Desktop 复制到 当前目录下的 demo 文件夹 |
选项 | 功能 |
---|---|
[-r] | 若给出的源文件是目录文件,则 scp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名 |
[-P] | 若远程 SSH 服务器的端口不是 22,需要使用大写字母 -P 选项指定端口 |
SSH常用配置
免密登陆
配置公钥
执行 ssh-keygen 即可生成 SSH 钥匙,一路回车即可
上传公钥到服务器
执行 ssh-copy-id -p port user@remote,可以让远程服务器记住我们的公钥
这样每次登陆时就不需要密码了。
配置别名
每次都输入ssh -p port user@remote 也比较的麻烦
而 配置别名 可以让我们进一步偷懒,譬如用:ssh mac 来替代上面这么一长串,那么就在 ~/.ssh/config 里面追加以下内容:
Host 别名
HostName ip地址
User H
Port 22
保存之后,即可用 ssh 别名 实现远程登录了,scp 也同样可以使用此别名。
夕麻 发布了16 篇原创文章 · 获赞 1 · 访问量 196 私信 关注