ssh服务作用及常用命令

ssh服务的作用

用于Linux下远程连接管理服务器的安全协议

  • 服务器端(开启ssh服务):安装软件(openssh-server)
  • 客户端(专门的客户端工具):
    windows:SecureCRT、MobaXterm
    linux:openssh-clients ssh/scp

(一)服务器端(Linux)查看是否安装软件(openssh-server)

[root@sikanolinuxServer ~]# rpm -q openssh-server
openssh-server-8.0p1-3.el8.x86_64

(二)客户机端(Linux)查看是否安装软件(openssh-clients)

[root@sikanoLinuxClients ~]# rpm -q openssh-clients
openssh-clients-8.0p1-3.el8.x86_64

(三)查看默认是否开机自启动ssh服务

[root@sikanolinuxServer ~]# systemctl list-unit-files|grep sshd.service
anaconda-sshd.service                      static
sshd.service                               enabled

(enable为开机自启,disable为开机不自启)
(四)ssh服务的重启/停止
①查看

[root@sikanolinuxServer ~]# systemctl status sshd.service
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2020-07-04 21:18:08 CST; 4min 29s ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 2861 (sshd)
    Tasks: 1 (limit: 11336)
   Memory: 1.2M
   CGroup: /system.slice/sshd.service
           └─2861 /usr/sbin/sshd -D -oCiphers=aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,>

②服务开/关/重启

[root@sikanolinuxServer ~]# systemctl stop sshd.service
[root@sikanolinuxServer ~]# systemctl start sshd.service
[root@sikanolinuxServer ~]# systemctl restart sshd.service

③开机服务自启开/关

[root@sikanolinuxServer ~]# systemctl enable sshd.service
[root@sikanolinuxServer ~]# systemctl list-unit-files|grep sshd.service
anaconda-sshd.service                      static
sshd.service                               enabled
[root@sikanolinuxServer ~]# systemctl disable sshd.service
Removed /etc/systemd/system/multi-user.target.wants/sshd.service.
[root@sikanolinuxServer ~]# systemctl list-unit-files|grep sshd.service
anaconda-sshd.service                      static
sshd.service                               disabled

修改ssh服务的默认端口

(一)查看ssh服务端口
netstat命令:用于查看网络连接状态
-n:不显示名称
-l:查看监听状态
-t:TCP协议
-p:查看程序名字

[root@sikanolinuxServer ~]# netstat -nltp|grep :22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      2861/sshd
tcp6       0      0 :::22                   :::*                    LISTEN      2861/sshd
[root@sikanolinuxServer ~]# lsof -i :22
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    3108 root    4u  IPv4  55446      0t0  TCP *:ssh (LISTEN)
sshd    3108 root    6u  IPv6  55448      0t0  TCP *:ssh (LISTEN)

(二)修改配置文件
①查找配置文件
-l列出所有文件
-c列出配置文件

[root@sikanolinuxServer ~]# rpm -ql openssh-server
/etc/pam.d/sshd
/etc/ssh/sshd_config
/etc/sysconfig/sshd
/usr/lib/.build-id
/usr/lib/.build-id/b2
/usr/lib/.build-id/b2/06d6b45138ae71373918a5ce87f3f0dcf83bb7
/usr/lib/.build-id/bf
/usr/lib/.build-id/bf/d6fb68af8645d97d1da5954e28ab6953517e91
/usr/lib/systemd/system/sshd-keygen.target
/usr/lib/systemd/system/sshd-keygen@.service
/usr/lib/systemd/system/sshd.service
/usr/lib/systemd/system/sshd.socket
/usr/lib/systemd/system/sshd@.service
/usr/lib/tmpfiles.d/openssh.conf
/usr/lib64/fipscheck/sshd.hmac
/usr/libexec/openssh/sftp-server
/usr/libexec/openssh/sshd-keygen
/usr/sbin/sshd
/usr/share/man/man5/moduli.5.gz
/usr/share/man/man5/sshd_config.5.gz
/usr/share/man/man8/sftp-server.8.gz
/usr/share/man/man8/sshd.8.gz
/var/empty/sshd
[root@sikanolinuxServer ~]# rpm -qc openssh-server
/etc/pam.d/sshd
/etc/ssh/sshd_config
/etc/sysconfig/sshd

其中/etc/ssh/sshd_config为配置文件路径,sshd_config为所查找的配置文件(通常配置文件在man5目录下,存在sshd_config即可大概率确定该文件为所查找的配置文件)
②修改配置文件
先查看想修改的端口号是否被占用:

[root@sikanolinuxServer ~]# netstat -nltp|grep 10022
[root@sikanolinuxServer ~]# lsof -i :10022

确认无占用后修改配置文件:

vim /etc/ssh/sshd_config

在原默认port下插入自定义端口号
在原默认port下插入自定义端口号,保存退出。
(如果一开始没有关闭防火墙和selinux这一步可能会出错)
查看端口号信息确认:

[root@sikanolinuxServer ~]# systemctl restart sshd.service
[root@sikanolinuxServer ~]# netstat -nltp|grep :10022
tcp        0      0 0.0.0.0:10022           0.0.0.0:*               LISTEN      3374/sshd
tcp6       0      0 :::10022                :::*                    LISTEN      3374/sshd
[root@sikanolinuxServer ~]# netstat -nltp|grep :22

基于SSH服务的命令

(一) Linux下远程连接客户端工具ssh

  • 客户端远程连接登录Linux服务器(ssh服务)端
    ssh [选项] 用户名@远程IP
    -l:指定访问用户(login)
    -p:指定端口号(port)

  • 客户端远程访问Linux服务器执行相应的命令(未登录
    ssh [选项] 远程IP 执行相应的命令

【例】未使用指定端口号,未指定登录账号,默认为端口号22,拒绝连接

[root@sikanoLinuxClients ~]# ssh 192.168.8.100
ssh: connect to host 192.168.8.100 port 22: Connection refused

【例】使用指定端口号10022,未指定登录账号,默认登录root账号

[root@sikanoLinuxClients ~]# ssh -p 10022 192.168.8.100
root@192.168.8.100's password: 
Web console: https://sikanolinuxServer:9090/ or https://192.168.8.100:9090/

This system is not registered to Red Hat Insights. See https://cloud.redhat.com/
To register this system, run: insights-client --register

Last login: Sun Jul  5 19:15:15 2020 from 192.168.8.101
[root@sikanolinuxServer ~]# exit
注销
Connection to 192.168.8.100 closed.

【例】使用指定端口号10022,指定登录账号

[root@sikanoLinuxClients ~]# ssh -p 10022 sika@192.168.8.100
sika@192.168.8.100's password: 
Web console: https://sikanolinuxServer:9090/ or https://192.168.8.100:9090/

This system is not registered to Red Hat Insights. See https://cloud.redhat.com/
To register this system, run: insights-client --register

Last login: Sun Jul  5 19:17:27 2020 from 192.168.8.101
[sika@sikanolinuxServer ~]$ exit
注销
Connection to 192.168.8.100 closed.

此写法等同于

[root@sikanoLinuxClients ~]# ssh -p 10022 -l sika 192.168.8.100

【例】未登录服务器端,执行hostname命令

[root@sikanoLinuxClients ~]# ssh -p 10022 sika@192.168.8.100 hostname
sika@192.168.8.100's password: 
sikanolinuxServer
[root@sikanoLinuxClients ~]# 

(二)Linux下远程拷贝命令scp
用法1:将本地文件远程拷贝到远端(push)
scp [选项] 本地文件 远程服务器IP:/路径
用法2:将远程服务器上的文件拷贝到本地(pull)
scp [选项] 远程服务器IP:/文件 本地路径
注意:本地存放文件路径是否对当前拷贝文件的用户可以写
【例】
[环境准备]
服务器端清空tmp目录下所有文件,客户端家目录下创建1.txt,dir1

[root@sikanolinuxServer ~]# rm -rf /tmp/*
[root@sikanolinuxServer ~]# ll /tmp
总用量 0
[root@sikanoLinuxClients ~]# touch 1.txt
[root@sikanoLinuxClients ~]# mkdir dir1

[实验]
无设置端口号,默认为22端口,连接被拒

[root@sikanoLinuxClients ~]# scp ./1.txt 192.168.8.100:/tmp/
ssh: connect to host 192.168.8.100 port 22: Connection refused
lost connection

指定端口号拷贝文件

[root@sikanoLinuxClients ~]# scp -P 10022 ./1.txt 192.168.8.100:/tmp/
root@192.168.8.100's password: 
1.txt                                         100%    0     0.0KB/s   00:00  

确认服务器端是否拷贝成功

[root@sikanolinuxServer ~]# ll /tmp
总用量 0
-rw-r--r-- 1 root root  0 7月   5 20:17 1.txt

指定端口号拷贝目录

[root@sikanoLinuxClients ~]# scp -P 10022 ./dir1 192.168.8.100:/tmp/
root@192.168.8.100's password: 
./dir1: not a regular file

-r 递归拷贝

[root@sikanoLinuxClients ~]# scp -P 10022 -r ./dir1 192.168.8.100:/tmp/
root@192.168.8.100's password: 

确认服务器端是否拷贝成功

[root@sikanolinuxServer ~]# ll /tmp
总用量 0
-rw-r--r-- 1 root root 0 7月   5 20:26 1.txt
drwxr-xr-x 2 root root 6 7月   5 20:26 dir1

【例】
[环境准备]客户端新建一个backup目录

[root@sikanoLinuxClients ~]# mkdir /backup

将服务器端的/etc/passwd文件拷贝到客户端的/backup目录下,并改名为file1(要确保当前的客户端登录用户有在/backup目录下的写权限

[root@sikanoLinuxClients ~]# scp -P10022 root@192.168.8.100:/etc/passwd /backup/file1
root@192.168.8.100's password: 
passwd                                        100% 2507     1.7MB/s   00:00  

确认客户端是否拷贝成功

[root@sikanoLinuxClients ~]# ll /backup
总用量 4
-rw-r--r-- 1 root root 2507 7月   5 20:44 file1

搭建服务总结

  1. 关闭防火墙和selinux(实验)可参考关闭防火墙和SELinux
  2. 配置软件仓库
  3. 软件三步曲 安装相应软件(程序) 确认软件是否成功安装 查看软件的文件列表(配置文件、程序本身、man文档手册等)
  4. 了解配置文件(man 5 xxx.conf)
  5. 根据需求通过修改配置文件完成服务的搭建
  6. 启动服务,开机自启动
  7. 测试验证
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值