一些常用的 Linux 远程操作命令记录

1.IP 地址相关操作

查看 IP 地址可以使用 ip 命令或 ifconfig 命令,推荐使用 ip 命令:
1)使用 ip 命令查看 IP 地址:

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

2)使用 ifconfig 查看 IP 地址:

ifconfig
或
ifconfig | grep inet(展示更为简单)

2.SSH 相关操作

SSH 协议可以让我们登陆远程服务器,在使用 SSH 协议之前,需要确保:

  • 客户机和服务器都安装了 SSH 协议
  • 服务器的 SSH 处于开启状态

1)安装 SSH 协议
Ubuntu 上默认是没有安装 SSH 服务的,需要我们进行手动安装:

sudo apt-get install openssh-client openssh-server

2)查看 SSH 服务是否处于开启状态
安装好 SSH 服务后会就会默认开启,我们也可以通过 systemctl 命令进行查看:

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

3.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

4.进程相关操作

1)查看当前的进程

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

2)杀死进程

kill PID(进程号)

3)强制杀死进程

kill -9 PID

5.端口相关操作

使用 netstat 命令可以查看端口信息:

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

也可以使用 lsof 命令查看端口信息:

lsof -i tcp:8080

6.冻结终端

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

7.释放/获取 IP 地址

dhclient 命令可以释放或者获取本机的 IP 地址。
1)释放操作

dhclient -r

2)获取操作

dhclient

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

8.密钥相关操作

可以使用 ssh-keygen (Key Generator)生成公钥和私钥,需要先安装 SSH 服务。
ssh-keygen 的使用:

  • -t:选择的加密算法,一般选择 RSA 算法
  • -C:加密的特征码
  • -f:生成的密钥文件的文件名

用法如下:

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

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

9.使用密钥进行免密登陆

有了公钥和私钥后,就可以在服务器进行免密登陆了。首先,需要将我们的公钥传递到服务器用户主目录的 .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 就可以实现免密登陆了。

10.不通过配置文件实现免密登陆

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

ssh -i charley_rsa charley@192.168.1.109

通过 -i 短参数指定了客户机的私钥地址,同样可以实现服务器的免密登陆。

11.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 文件中。

完。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343