用于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服务端口 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下插入自定义端口号,保存退出。 (如果一开始没有关闭防火墙和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(一) 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