➹ 一些经常使用的 Linux 远程操做命令记录

➣ 简介

tip 经常使用Linux命令
内容主要包括:查看IP地址、ssh相关操做、scp相关操做、进程相关操做、端口相关操做、冻结终端、释放/获取IP地址、密匙相关操做、使用密匙进行免密登录、不经过配置文件实现免密登录、config配置文件拓展算法

IP 地址相关操做

查看 IP 地址能够使用 ip 命令或 ifconfig 命令,推荐使用 ip 命令:服务器

1)使用 ip 命令查看 IP 地址:ssh

ip addr

tcp

ip addr | grep inet(展现更为简单)

2)使用 ifconfig 查看 IP 地址:加密

ifconfig

code

ifconfig | grep inet(展现更为简单)

SSH 相关操做

SSH 协议可让咱们登录远程服务器,在使用 SSH 协议以前,须要确保:server

客户机和服务器都安装了 SSH 协议
服务器的 SSH 处于开启状态
1)安装 SSH 协议
Ubuntu 上默认是没有安装 SSH 服务的,须要咱们进行手动安装:进程

sudo apt-get install openssh-client openssh-server

2)查看 SSH 服务是否处于开启状态
安装好 SSH 服务后会就会默认开启,咱们也能够经过 systemctl 命令进行查看:ip

systemctl status sshd

若是服务没有开启,能够手动开启:资源

systemctl start sshd

有时候 SSH 服务多是禁用的,须要先解除禁用:

systemctl enable sshd

解除禁用后就能够使用 systemctl start sshd 开启 SSH 服务了。
也能够中止 SSH 服务:

systemctl stop sshd

当咱们安装并开启 SSH 服务后,就能够使用 ssh 命令进行远程登陆了,该命令的使用方式为:

ssh user@address

如:

ssh charley@192.168.47.133

SCP 相关操做

SCP 是基于 SSH 的协议,能够用来上传资源至服务器或者从服务器下载资源。
1)上传文件

scp path user@address:path

上面第一个 path 是本地要上传到服务器的文件路径,第二个 path 是要上传到服务器的目标地址。注意不要遗忘服务器 IP 地址和目标路径之间的冒号。
如:

scp ./test.txt charley@192.168.47.133:/home/charley

也能够上传目录:

scp -r ./mysite charley@192.168.47.133:/home/charley

2)下载文件

scp charley@192.168.47.133:/home/charley/helloworld.js .

也能够下载目录:

scp -r charley@192.168.47.133:/home/charley/mysite2 .

总结一下,scp 命令前面的参数是上传或下载的源地址,后面的参数是上传或下载的目标地址,若是须要上传或下载目录,须要在 scp 命令后加上短参数 -r。

进程相关操做

1)查看当前的进程

ps aux

ps aux | greo xxx(查看某一个进程)

2)杀死进程

kill PID(进程号)

3)强制杀死进程

kill -9 PID

端口相关操做

使用 netstat 命令能够查看端口信息:

netstat

netstat [-anp]

netstat [-anp] | grep PORT(端口)

也能够使用 lsof 命令查看端口信息:

lsof -i tcp:8080

冻结终端

在终端按下 Ctrl + S 组合键,终端就会被冻结。若是想解冻的话,按下 Ctrl + Q 组合键便可。

释放/获取 IP 地址

dhclient 命令能够释放或者获取本机的 IP 地址。

1)释放操做

dhclient -r

2)获取操做

dhclient

当局域网的 IP 地址冲突时,能够用此方法解决。

密钥相关操做

能够使用 ssh-keygen (Key Generator)生成公钥和私钥,须要先安装 SSH 服务。

ssh-keygen 的使用:
  • -t:选择的加密算法,通常选择 RSA 算法
  • -C:加密的特征码
  • -f:生成的密钥文件的文件名

用法以下:

ssh-keygen -t rsa -C "Charley" -f "charley_rsa"

命令执行完成后,会在执行命令的目录中生成一个 charley_rsa 和 charley_rsa.pub 文件,其中前一个是私钥,后一个是公钥。切记私钥必定不要泄露。

使用密钥进行免密登录

有了公钥和私钥后,就能够在服务器进行免密登录了。首先,须要将咱们的公钥传递到服务器用户主目录的 .ssh 目录下。如 /home/charley/.ssh 或 /root/.ssh,传到前一个目录就能够免密登录到 charley 这个用户,传到后一个目录就能够免密登录到 ROOT 用户,以此类推。
服务器接受到公钥文件后,须要将公钥文件的内容追加到 authorized_keys 文件中,若是服务器尚未该文件,须要先建立一个。

cat charley_rsa.pub >> authorized_keys

建议在生成密钥时须要将私钥放在用户主目录的 .ssh 文件夹下以方便管理,而且须要确认私钥的操做权限为 600,即只能私钥的全部者进行操做,其余用户不能操做私钥。
接下来,咱们须要在客户机配置一个 config 文件,以实现免密登录,若是客户机上尚未该文件,须要先建立一个。
config 文件配置的模板以下:

  • 要登陆的用户名
User charley
  • 登录的别名
Host charley-server
  • 登录的地址,能够是一个 IP 地址或者域名
HostName 192.168.1.109
  • 登录的端口
Port 22
  • 第一次链接服务器时,自动接受新的公钥
StrictHostKeyChecking no
  • 私钥文件的路径
IdentityFile ~/.ssh/charley_rsa
  • 维持 SSH 链接,防止长时间不作操做被踢
IdentitiesOnly yes
  • 其余配置项,照搬便可
Protocol 2
Compression yes
ServerAliveInterval 60
ServerAliveCountMax 20
LogLevel INFO

写好配置文件后,咱们输入 ssh charley-server 就能够实现免密登录了。

不经过配置文件实现免密登录

前面是介绍了经过 config 配置文件的方式实现免密登录,但在某些状况下咱们可能没有权限操做配置文件,这就要手动指定秘钥进行登录了。手动指定秘钥进行登录也很简单:

ssh -i charley_rsa charley@192.168.1.109

经过 -i 短参数指定了客户机的私钥地址,一样能够实现服务器的免密登录。

config 配置文件的扩展

在 config 配置文件中,不只能够配置单台主机的免密登录,还能够配置多台主机的免密登录,同时还能够对多台主机共用一个公钥或不一样的公钥进行配置。如下提供一个简单的配置模板。
1)多台主机共用一个公钥

  • 第一台主机
Host charley-first-server
HostName xxx
Port 22
  • 第二台主机
Host charley-second-server
HostName xxx
Port 22

Host *-server
User charley
IdentityFile ~/.ssh/charley_rsa
Protocol 2
Compression yes
ServerAliveInterval 60
ServerAliveCountMax 20
LogLevel INFO

2)多台主机使用不一样的公钥

  • 第一台主机
User charley
Host charley-first-server
HostName xxx
Port 22
StrictHostKeyChecking no
IdentityFile ~/.ssh/charley_first_rsa
IdentitiesOnly yes
Protocol 2
Compression yes
ServerAliveInterval 60
ServerAliveCountMax 20
LogLevel INFO
  • 第二台主机
User charley
Host charley-second-server
HostName xxx
Port 22
StrictHostKeyChecking no
IdentityFile ~/.ssh/charley_second_rsa
IdentitiesOnly yes
Protocol 2
Compression yes
ServerAliveInterval 60
ServerAliveCountMax 20
LogLevel INFO

➣ 总结

本文介绍了一些和 Linux 远程操做相关的命令,这些命令都是基于 SSH 协议的,包括用来远程登录的 ssh 命令和用来上传或下载文件的 scp 命令。文章的后半部分,介绍了如何使用 ssh-keygen 命令生成密钥文件,以及经过配置文件和手动指定密钥文件两种实现免密登录的方式。须要注意的是,要实现免密登录,须要在服务器上保存客户机的公钥文件,同时须要将该公钥文件的内容追加到 authorized_keys 文件中。

相关文章
相关标签/搜索