Linux下开启ssh服务
suse11.2 ssh安装并启动ssh无法登录解决-网络
1、SuSE Linux下启动sshd:
命令行:rcsshd start
YaST:找不到sshd,但是打开全部inetd服务,ssh就可用了,奇!
待我发现机关,再改此文。
使用命令行:rpm -qa | grep ssh查看是否已安装ssh。
linux-kelh:~ # rpm -qa | grep ssh
openssh-5.8p1-4.1.i586
libssh4-0.4.8-7.1.i586
ksshaskpass-0.5.3-2.1.i586
libssh2-1-1.2.7-3.1.i586
openssh-askpass-5.8p1-4.1.i586
libnsssharedhelper0-1.0.9-6.1.i586
如果存在如上显示,则表示已经安装ssh服务,反之没有安装。
再使用命令行:service sshd status查看ssh服务是否开启
2、配置SSH服务:
1. 修改配置文件
#vi /etc/ssh/sshd_config
2. 找到#PermitRootLogin no将其修改为PermitRootLogin yes
前晚装了这个版本,感觉它的gome桌面比Ubuntu8和Fedora版本都要好看。呵呵,其实大家都用一样的东西。
这次在SUSE上使用SSH时遇到点麻烦,所以总结一下小经验。SSH,即SecureShell,是一种网络协议,允许在两台计算机之间建立一条安全通道以交换数据。
一般Linux发行版本,例如Ubuntu和SUSE,都默认安装了OpenSSH工具包。完成系统安装,重新启动后,作为服务端的 sshd(SSHDaemon)会作为系统服务之一被启动(注:daemon解释为守护进程)。同时一个SSH工具也安装好了,openSSH程序包的一部分,是远程登录客户端程序。默认安装路径:
ssh-/usr/bin/ssh对应的配置文件/etc/ssh/ssh_config
sshd-/usr/sbin/sshd对应的配置文件/etc/ssh/sshd_config
我只想使用密码登录方式,所以修改了/etc/ssh/sshd_config文件的PasswordAuthentication参数,该参数默认为 no,意思是不允许通过密码认证登录;所以这里改为yes。默认下/etc/ssh/ssh_config也有这个参数,默认是yes,所以不用修改。修改参数后,在命令行输入sshrestart后重新启动sshd服务。
这次碰到的问题是,在SUSE登录后,在命令界面使用ssh192.168.2.101能正常登录,但是在另一台Windows系统上面用putty登录时却显示连接超时,登录失败!putty这边设置没有问题,那么问题可能出在SUSE系统本身或者两台电脑之间的通信。
使用yast查看sshd服务的状态,在命令行输入yast回车,启动yast界面,选择
“System>SystemServices(Runlevel)”,打开SystemServices(Runlevel):Services 界面,检查sshd状态已经是Enabled。使用功能键Alt E转到ExpertMode,观察到当前sshd运行在Runlevel5, (Fullmultiuserwithnetworkanddisplaymanager),这都没有问题。
到网上查查,最后在一个论坛里有人提到检查firewall,需要关闭firework。于是选择在yast中选择“SecurityandUsers>Firewall”,在Firewallconfiguration界面将ServiceStart启动方式修改为Manually,然后执行 “StopFirewallNow”,保存修改!
重新启动sshd,再到Windows下试试,一切正常
启动sshd服务
# service sshd start
# service sshd restart
或者
# /ect/init.d/sshd start
# /ect/init.d/sshd restart
停止服务
# service sshd stop
或者
# /ect/init.d/sshd stop
linux下怎么使SSH服务开机自动运行?
1.首先查看是否安装ssh的相应包
rpm -aq|grep ssh
2.如果已经安装查看相关的port是否打开
netstat -an|grep 22
3.设置随机启动
通过ntsysv 选中sshd服务
也可以通过chkconfig也设置
chkconfig -- level 3 sshd on
4.当这些部分都做好后重新reboot后,还是不能通过ssh联上去。
看一个系统本身的防火设置。
可以手工清空一个规则
iptables -F回车
iptables -t nat -F回车
如果系统端口与sshd服务已启动。
则可以在别的机器上通过ssh连上。
Linux下OpenSSH版本升级
Linux下OpenSSH版本升级
在运营商对各个系统的安全扫描的过程中,经常会遇到如下OpenSSH安全漏洞:
这一安全漏洞通常需要到ftp:///pub/OpenBSD/OpenSSH/portable/下载openssh-5.0p1以上的版本,然后进行软件升级才能解决这一问题。
一、OpenSSH升级前需要准备的工作如下:
(1) 开启telnet的服务,关闭SSH服务,详见《Linux下telnet开启和关闭服务》文档;如果是在本机上直接操作就不需要开启。
(2) 将下载好的OpenSSH包上传到需要升级的服务器上。
(3) 检查OpenSSL和Zlib版本,openssh-5.0p1要求在OpenSSL版本在0.9.6以上,Zlib滴版本在1.2.1.2以上;
SUSE10下查看相关命令如下:
RedHat AS下查看相关命令如下:
如果OpenSSL和Zlib版本无法满足OpenSSH升级需求,则需要进行相应的版本升级。 二、OpenSSH升级
(1)备份好之前SSH的相关配置文件,也可以cd /etc,直接tar整个ssh目录。
(2)service sshd stop或者/etc/init.d/sshd stop关闭ssh服务
(3)tar zxvf openssh-5.0p1.tar.gz
(4)cd openssh-5.0p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --without-zlib-version-check
指定安装目录,同时不检查zlib版本。
注:在配置的过程中一定要确保没有错误提示,这样才能进行后续的编译。
(5)make //编译
(6)make install //安装
(7)使用命令ssh –V验证升级是否成功。
在CentOS7下,如何开通SSH系统远程服务
在CentOS7下,如何开通SSH系统远程服务
⼀、CentOS7系统下打开超级终端,执⾏相关命令:[root@robot ~]# yum list installed | grep openssh-server #查看SSH是否已经安装
(等同于命令:rpm -qa | grep ssh)没有安装 openssh-server,⾸次安装执⾏安装操作
[root@robot ~]# yum install openssh-server #安装openssh-server,如果有版本号,版本号也需要完整输⼊
[root@robot ~]# cd /etc/ssh/ #打开ssh安装⽂件夹
[root@robot ~]# dir #查看⽬录下所有⽂件,并找到sshd_config⽂件
[root@robot ~]# vim sshd_config #⽤vim编辑器打开
1、按键盘的【insert】键,进⼊编辑状态;
2、找到以下两个监听名称,把名称前的【#】符号删除
# ListenAddress 0.0.0.0 → 修改为→ ListenAddress 0.0.0.0
# ListenAddress :: → 修改为→ ListenAddress ::
3、找到PremitRootLogin yes /*如果是no就改为yes*/
4、找到PasswordAuthentication yes /*如果是no就改为yes*/
5、按键盘的【ESC】键,退出编辑状态;
6、输⼊命令【:wq】保存修改
[root@robot ~]# sudo service sshd start #开启SSH远程访问服务
[root@robot ~]# ps -e | grep sshd #检查ssh服务是否已经开启;
⼆、在Windows 系统下安装 Xshell 终端访问⼯具,并配置访问
【运⾏XShell终端,添加SSH远程访问地址】1、填写名称,⽤于标识服务器,⽅便知道连接哪⼀台服务器;
Linux配置SSH免密登录“ssh-keygen”的基本用法
Linux配置SSH免密登录“ssh-keygen”的基本⽤法⽬录
1 什么是SSH
2 配置SSH免密登录
2.1 安装必需的软件
2.2 ssh-keygen创建公钥-私钥对
2.3 ssh-copy-id把A的公钥发送给B
2.4 在A服务器上免密登录B服务器
3 扩展说明
3.2 ⽂件权限
3.3 ⽂件的编辑和查看
1 什么是SSH
引⽤百度百科的说明:
SSH 为 Secure Shell的缩写,由 IETF 的⽹络⼩组(Network Working Group)所制定;它是建⽴在应⽤层基础上的安全协议。
SSH 是⽬前较可靠,专为远程登录会话和其他⽹络服务提供安全性的协议。利⽤ SSH 协议可以有效防⽌远程管理过程中的信息泄露问题。
SSH最初是UNIX系统上的⼀个程序,后来⼜迅速扩展到其他操作平台。
为了在不同平台/⽹络主机之间的通信安全, 很多时候我们都要通过ssh进⾏认证. ssh认证⽅式主要有2种:
① 基于⼝令的安全认证: 每次登录的时候都要输⼊⽤户名和密码, 由于要在⽹络上传输密码, 可能存在中间⼈攻击的风险;
② 基于密钥的安全认证: 配置完成后就可以实现免密登录, 这种⽅式更加安全 —— 不需要在⽹络上传递⼝令, 只需要传输⼀次公钥. 常见的git的ssh⽅式就是通过公钥进⾏认证的.
2 配置SSH免密登录
说明: 这⾥演⽰所⽤的服务器操作系统是Cent OS 7. 我们的⽬标是:
A服务器(172.16.22.131) 能免密登录 B服务器 (172.16.22.132).
注意: ssh连接是单向的, A能免密登录B, 并不能同时实现B能免密登录A.
2.1 安装必需的软件
在操作之前, 先确保所需要的软件已经正常安装.
这⾥我们需要安装ssh-keygen和ssh-copy-id, 安装⽅式如下:
# 安装ssh-keygen, 需要确保服务器可以联⽹. 博主这⾥已经安装完成, 所以没有做任何事.
[root@localhost ~]# yum install -y ssh-keygen
设置ssh无密码登录linux服务器的方法
设置ssh⽆密码登录linux服务器的⽅法
每次登录测试服务器,ssh登录总是需要输⼊密码。登录的少还⾏,登录的多了,多⼀⾏命令都是多余的。
rsa认证登录⽅式
制作密钥对
在客户端(本地机器)终端下输⼊以下命令
ssh-keygen -t [rsa|dsa]
rsa和dsa代表不同的算法
例如:
ssh-keygen -t rsa
⼀直回车就对了(不⽤设置密码)
将会⽣成密钥⽂件和私钥⽂件 id_rsa,id_rsa.pub(如果⽤dsa则⽣成id_dsa,id_dsa.pub)
⽣成位置在/root/.ssh/⽂件夹下(我⽤的是root⽤户所以在root下,⽣成过程会有提⽰⽂件位置)
.ssh 是隐藏⽂件夹 使⽤ ls -a查看
将公钥放到服务器指定位置
⽅法⼀、直接复制
1、将公钥复制到服务器的root⽤户下的.ssh⽂件夹(⽤哪个⽤户登录就复制到哪个⽤户下的.ssh⽂件夹下)
scp /root/.ssh/id_rsa.pub root@172.16.0.164:/root/.ssh/
2、安装公钥
登录到服务器cd /root/.ssh/
cat id_rsa.pub >> authorized_keys
⽅法⼆、使⽤ssh-copy-id命令复制(推荐)
⼀个命令直接就ok了
ssh-copy-id root@172.16.0.164
验证
不⽤输⼊密码则成功,否则失败
ssh root@172.16.0.164
注意事项
上⾯操作测试过是没有问题的
linux的版本和使⽤的⽤户不同会有差别的。
如果出现问题可以考虑以下两点
1、id_rsa.pub和authorized_keys的⽂件权限问题
chmod 600 authorized_keys
chmod 700 ~/.ssh
2、ssh的配置⽂件
vim /etc/ssh/sshd_config
#启⽤ RSA 认证,默认为yes
RSAAuthentication yes
启⽤公钥认证,默认为yes PubkeyAuthentication yes
linux下ssh安装与scp命令使用详解
linux下ssh安装与scp命令使⽤详解
ubuntu默认并没有安装ssh服务,可以通过如下命令进⾏:
复制代码 代码如下:
yblin@yblin-desktop:~$ ssh localhostssh: connect to host localhost port 22: Connection refused
如上所⽰则说明还没有安装ssh.通过apt-get安装如下:复制代码 代码如下:
yblin@yblin-desktop:~$ sudo apt-get install openssh-server
ssh默认端⼝是22,可以通过sudo /etc/init.d/ssh start 修改默认端⼝。 scp基于ssh登录,所以如果没有安装ssh⽆法进⾏⽂件拷贝。
不同的Linux之间copy⽂件常⽤有3种⽅法,第⼀种就是ftp,也就是其中⼀台Linux安装ftpServer,这样可以另外⼀台使⽤ftp的client程序来进⾏⽂件的copy。第⼆种⽅法就是采⽤samba服务,类似Windows⽂件copy的⽅式来操作,⽐较简洁⽅便,第三种就是利⽤scp命令来进⾏⽂件复制。 scp是有Security的⽂件copy,基于ssh登录。操作起来⽐较⽅便,⽐如要把当前⼀个⽂件copy到远程另外⼀台主机上,可以如下命令。复制代码 代码如下:
scp/home/daisy/**********************.2.75:/home/root
然后会提⽰你输⼊另外那台172.19.2.75主机的root⽤户的登录密码,接着就开始copy了。 如果想反过来操作,把⽂件从远程主机copy到当前系统,也很简单。
复制代码 代码如下:
**************.2.75:/home/root/home/daisy/full.tar.gz
SSH简单使用教程
SSH简单使用教程
SSH(Secure Shell)是一种安全协议,旨在通过加密技术在网络中安全地传输数据。它是一种远程登录协议,可以让用户通过互联网远程登录到远程服务器或远程主机上,并在感到安全的情况下执行命令。
SSH是替代传统不安全协议(如Telnet)的首选工具。使用SSH,可以安全地远程管理和传输文件,而无需担心信息泄露和攻击。
本文将介绍SSH的基本使用方法,并提供一些SSH的实际应用场景。
1.配置SSH
在开始使用SSH之前,需要做一些初始配置。首先,在远程服务器上安装SSH服务,并确认SSH服务已经启动。这可以通过以下命令来检查:
```
service ssh status
```
如果SSH服务未启动,可以使用以下命令启动:
```
service ssh start
```
另外,如果你使用的是Linux系统,需确保OpenSSH服务器软件包已经安装。可以使用以下命令安装:
``` sudo apt-get install openssh-server
```
2.连接到远程服务器
要连接到远程服务器,需要知道远程服务器的IP地址和登录凭据(用户名和密码)。可以使用以下命令连接:
```
```
其中,username是登录远程服务器的用户名,ip_address是远程服务器的IP地址。
3.密钥认证
SSH还支持密钥认证,这是一种更安全和便捷的登录方式。使用密钥认证,用户将生成一对密钥(公钥和私钥),将公钥放在远程服务器上,然后使用私钥进行登录。
要使用密钥认证,首先需要生成密钥对。可以使用以下命令生成密钥对:
```
ssh-keygen -t rsa -b 4096
```
该命令将要求您提供保存密钥对的路径和密码。生成密钥对之后,可以使用以下命令将公钥复制到远程服务器上: ```
```
然后你就可以使用私钥进行登录了:
```
```
4.SSH端口转发
SSH还提供了端口转发功能,可以将本地端口转发到远程服务器上。这对于访问位于防火墙后面的服务器或本地网络服务非常有用。
Centos7配置SSH服务
Centos7配置SSH服务
⼀、⾸先确认 Centos7 是否已安装 ssh服务
⼀般情况下,centos⾃带ssh服务
使⽤命令⾏ yum list installed | grep ssh 来查询
如果显⽰:
则说明安装ssh服务。
如果没有安装,则先需要安装ssh服务,
使⽤命令⾏yum install openssh-server
⼀路Y确认
⼆、配置SSH
ssh默认端⼝是22
使⽤ root ⽤户进⼊ /etc/ssh/ ⽬录: cd /etc/ssh/ (切换到root⽤户,使⽤ su 命令)
使⽤ vi/vim 打开 sshd_config ⽂件: vim sshd_config
默认是22端⼝,将配置⽂件⾥的 #注释 释放,(想要哪个设置⽣效,就删除前⾯的 #)
su #切换到root
cd /etc/ssh/
vim sshd_config
PermitRootLogin yes #是否允许root⽤户登录
PermitEmptyPasswords no #是否允许空密码
PasswordAuthentication yes #是否允许密码验证
AllowUsers xxxxx #允许xxxxx⽤户登录
ecs
wq # 保存退出
三、 防⽕墙打开22端⼝
firewall-cmd --zone=public --add-port=22/tcp --permanent #向防⽕墙中添加端⼝
--zone #作⽤域
--add-port=80/tcp #添加端⼝,格式为:端⼝/通讯协议
--permanent #永久⽣效
firewall-cmd --reload #使防⽕墙规则⽣效
firewall-cmd --zone=public --query-port=22/tcp #查看端⼝是否添加成功:
firewall-cmd --list-ports #查看防⽕墙开放的端⼝
四、启⽤ssh服务
service sshd restart #重启ssh服务
如何在Ubuntu20.04上启用SSH
如何在Ubuntu20.04上启⽤SSH
Secure Shell(SSH)是⽤于客户端和服务器之间安全连接的⽹络协议。服务器与客户端之间的每次交互均被加密。
本教程说明了如何在Ubuntu计算机上启⽤SSH。
启⽤SSH将允许您远程连接到系统并执⾏管理任务。您还可以通过scp和sftp安全地传输⽂件。
在Ubuntu上启⽤SSH
默认情况下,⾸次安装Ubuntu时,不允许通过SSH进⾏远程访问。在Ubuntu上启⽤SSH⾮常简单。
以root ⽤户或具有sudo特权的⽤户执⾏以下步骤,以在Ubuntu系统上安装并启⽤SSH:
使⽤打开终端Ctrl+Alt+T并安装openssh-server软件包:sudo apt updatesudo apt install openssh-server出现提⽰时,输⼊密码,然后按Enter继续安装。
安装完成后,SSH服务将⾃动启动。您可以通过键⼊以下命令来验证SSH是否正在运⾏:sudo systemctl status ssh输出应告诉您该服务正在运⾏,并已启⽤以在系统引导时启动:
● ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2020-06-01 12:34:00 CEST; 9h ago...按q返回到命令⾏提⽰符。Ubuntu随附了⼀个名为UFW的防⽕墙配置⼯具。如果在系统上启⽤了防⽕墙,请确保打开SSH端⼝:
sudo ufw allow ssh现在,您可以从任何远程计算机通过SSH连接到Ubuntu系统。Linux和macOS系统默认安装了SSH客户端。要从Windows计算机连接,请使⽤SSH客户端(例如PuTTY)。
linux下sftp用户权限设置条件及实现命令
linux下sftp用户权限设置条件及实现命令
在Linux下设置SFTP用户的权限,需要满足以下条件:
1. 安装和配置OpenSSH服务器:确保系统上已安装OpenSSH服务器,并进行相应的配置。可以使用apt、yum或其他包管理器来安装OpenSSH服务器。
2. 创建SFTP用户:创建一个普通的系统用户,用于SFTP访问。可以使用useradd命令创建用户,并设置密码。
3. 限制Shell访问:将SFTP用户的shell访问限制为仅允许使用SFTP服务,而不允许登录到系统的shell环境。可以修改/etc/passwd文件中的用户行(用户行的最后一列)或使用chsh命令进行修改。
4. 配置SFTP服务:编辑OpenSSH服务器配置文件(通常在/etc/ssh/sshd_config),并确保以下配置项已启用或添加:
```
Subsystem sftp internal-sftp
Match User sftp_username
ForceCommand internal-sftp
ChrootDirectory /path/to/sftp_directory
AllowTcpForwarding no
X11Forwarding no
```
- "Subsystem sftp internal-sftp" 表示使用内部的SFTP子系统。 - "Match User sftp_username" 表示匹配指定的SFTP用户名。
- "ForceCommand internal-sftp" 强制使用内部SFTP命令,禁止用户执行其他命令。
- "ChrootDirectory /path/to/sftp_directory" 将用户限制在指定的目录下,防止访问系统其他目录。
Linux升级OpenSSH和OpenSSL,解决XMSSKey解析整数溢出漏洞、Open。。。
Linux升级OpenSSH和OpenSSL,解决XMSSKey解析整数溢出漏洞、Open。。。
OpenSSH和OpenSSL
OpenSSL
OpenSSL其实是⼀个开源的C函数库,多⽤于加密依赖,很多程序的编译,需要OpenSSL作为依赖包。
OpenSSH
OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现,类似于OpenJDK和OracleJDK的区别。需要⽤到OpenSSL的函数库,所以在更新OpenSSH前,最好先更新
OpenSSL。
SSH协议族可以⽤来进⾏远程控制, 或在计算机之间传送⽂件。相对于传统⽅式,OpenSSH提供了服务端后台程序和客户端⼯具,并且加密远程控制和⽂件传输过程中的数据。
简单地说,⽇常使⽤OpenSSH:远程控制服务器端,如:远程登录访问Linux的Terminal。且过程中加密传输。
OpenSSL 拒绝服务漏洞
拒绝服务漏洞,代号为:CVE-2021-3449:
主要是⼀些操作,可能会让OpenSSL TLS 强⾏停⽌。【我感觉这个漏洞不是很严重啦,但是⼤家都觉得很严重……那还是有必要修复⼀下╮( ̄▽ ̄"")╭】
解决⽅法很简单:升级OpenSSL版本。
XMSS Key 解析整数溢出漏洞
XMSS Key漏洞,代号为:CVE-2019-16905:
主要是⾮法⽤户,可以通过此漏洞,跳过OpenSSH的认证,远程登录到你服务器【不过计算难度挺⾼的,⽽且条件苛刻……】。但是,总归是重⼤漏洞,需要修复:
解决⽅法很简单:升级OpenSSH版本。
升级的⽅法很简单:
下载新版本OpenSSL源码备份旧版本OpenSSL编译安装新版本OpenSSL下载新版本OpenSSL源码这边推荐下载地址:
⽐如,我这边下载openssl-1.1.1k.tar.gz。到Linux控制台内,使⽤wget下载即可(你也可以使⽤宝塔等软件下载,但是记得权限问题):wget 'https:///source/openssl-1.1.1k.tar.gz'
