资讯专栏INFORMATION COLUMN

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

Edison / 986人阅读

➣ 简介

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

IP 地址相关操作

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

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

ip addr

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

2)使用 ifconfig 查看 IP 地址:

ifconfig

ifconfig | grep inet(展示更为简单)
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
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 文件中。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/63100.html

相关文章

  • Linux】git 常用命令

    摘要:自从以来的所有改变都会显示在的中仅重设,但是不重设。这个模式是默认模式,即当不显示告知模式时,会使用模式。 作者:LogM 本文原载于 https://segmentfault.com/u/logm/articles ,不允许转载~ 1. 克隆 git clone git clone # 克隆版本库的时候,所使用的远程主机自动被git命名为origin # 使用-o修改远程主机...

    stonezhu 评论0 收藏0
  • Linux常用安全策略设置六个方法

    摘要:安全第一对于管理界乃至计算机也都是一个首要考虑的问题。如果没有人能通机器并收到响应,那么就可以大大增强服务器的安全性,下可以执行如下设置,禁止请求默认情况下的值为,表示响应操作。接着设置不允许登录的机器,也就是配置文件了。 安全第一对于linux管理界乃至计算机也都是一个首要考虑的问题。加密的安全性依赖于密码本身而非算法!而且,此处说到的安全是指数据的完整性,由此,数据的认证安全和完整...

    Godtoy 评论0 收藏0
  • 零基础学习 Linux 该如何入门?

    摘要:常用命令文件管理命令显示指定工作目录下的内容及属性信息命令为英文单词的缩写,正如英文单词的意思,其功能是列出指定目录下的内容及其相关属性信息。 前言 为什么要学习 ...

    不知名网友 评论0 收藏0
  • 从0开始学习 GitHub 系列之「Git 速成」

    摘要:这个时候用到了第一个命令,代表初始化仓库,输入之后会提示可以看到初始化成了,至此目录已经是一个仓库了。 showImg(https://segmentfault.com/img/remote/1460000006773192); 前面的 GitHub 系列文章介绍过,GitHub 是基于 Git 的,所以也就意味着 Git 是基础,如果你不会 Git ,那么接下来你完全继续不下去,所以...

    wangshijun 评论0 收藏0
  • Linux系列笔记】-------用户账户和组管理详解及实用指令补充(四)

    摘要:每个组都有唯一的跟类似,除了,每个组还有唯一的组名,与用户账户类似,组信息也保留系统文件中。及相关资料网友自取。 作者:嵌入式历练者 ID : Eterlove 记下相关笔记,记录我的学习生活!站在巨人的肩上Standing on Shoulders of Giants! 该文章...

    baiy 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<