sshd服务

什么是ssh

简单说,SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑。1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置。
SSH只是一种协议,存在多种实现,既有商业实现,也有开源实现。本文针对的实现是OpenSSH,它是自由软件,应用非常广泛。这里只讨论SSH在Linux Shell中的用法。

ssh的安装

SSH分客户端openssh-client和openssh-server

如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装,如果没有则sudo apt-get install openssh-client),如果要使本机开放SSH服务就需要安装openssh-server。

Ubuntu默认已经安装了ssh client,需要手动安装ssh server

ssh-server介绍

ssh-server在实际操作中没有什么需要关心的,只需要关注它的一个核心配置文件即可,文件位于/etc/ssh/sshd_cofig
ssh-server默认会有一个端口号22供客户端连接使用

一般只需要关注以下几个配置即可

  • UseDNS no 是否开启反向解析:ip-->域名
  • GSSAPIAuthentication noGSS认证功能关闭
  • Port端口号,默认是22,端口范围是1-65535 推荐10000以上的端口
  • PermintRootLogin禁用root用户 远程 登录权限. 默认是yes(可以让root远程登录) (ubt系统中默认是no) 使用建议:先添加普通用户配置sudo权限,然后再禁用
  • PasswordAuthentication yes 远程连接是否开启密码登录/验证功能. 未来安全要求严格可以关闭,关闭前先配置好密钥认证.

ssh-client介绍

ssh-client也有一个配置文件/etc/ssh/ssh_config,但是一般实际操作中不需要改动,客户端有两个命令,sshscp需要特别关注一下

scp

scp命令主要用于传输文件,在实际生产中使用的还是比较多的
语法:scp [选项] 文件/目录 用户名@ip:路径
选项说明:

-r 递归传输
-p 保持属性不变
-P(大写) 指定端口号

案例:传输/etc/hostname到10.0.0.41的/data目录下

scp -r -P 22 /etc/hostname root@10.0.0.41:/data

ssh

ssh命令主要用于连接远程服务器,或者连接远程服务器时执行命令或脚本
语法:ssh [选项] 用户名@ip [命令]
选项说明

-p:指定远程服务器上的端口;
  • 案例一:远程连接10.0.0.41服务器的22端口
ssh -p 22 root@10.0.0.41
  • 案例二:远程连接10.0.0.41服务器的22端口并执行whoami命令
ssh -p 22 root@10.0.0.41 whoami
  • 案例三:远程连接10.0.0.41服务器的22端口并执行多条命令
ssh -p 22 root@10.0.0.41 "whoami && hostname && hostname -I"

ssh -p 22 root@10.0.0.41 "whoami ; hostname ; hostname -I"

注:

  • &&并且,命令行中表示前一个命令执行成功再执行后面的命令.
  • ; 分号,分隔命令.相当于是1行的结束.
posted @ 2025-03-31 15:28  huangSir-devops  阅读(130)  评论(0)    收藏  举报
作者:你的名字
出处:你的博客链接
本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。