云服务器免费试用

linux设置ssh(Linux设置sshd服务开机自启)

服务器知识 0 1524

本文目录:

  • 1、linux开启ssh服务
  • 2、Linux——配置sshd服务
  • 3、linux 配置ssh有几种方法
  • 4、Linux 配置SSH免密登录
  • 5、linux下开启SSH,并且允许root用户远程登录,允许无密码登录
  • 6、linux之ssh命令详解

linux开启ssh服务

1."linux开启ssh服务,为您提供linux开启ssh服务图文信息,打开linux系统,在linux的桌面的空白处右击。

2.在弹出的下拉选项里,点击打开终端。

3.确认安装好ssh的前提下,输入servicesshdstart命令,下方出现OK表示已经开启。

Linux——配置sshd服务

一、sshd服务

sshd服务的配置文件一般保存在/etc/ssh/sshd_config文件中。

在RHEL7中,一般默认已经安装sshd服务程序,使用ssh命令进行远程连接。

格式:ssh [options] ip地址

ssh 192.168.106.139

1、centos7使用ssh登录远程服务器

ssh xiaogua@192.168.106.139

exit 退出登录

-r :用于传输文件夹

-6:使用IPv6协议

2)、从本地复制一个文件夹到远程主机

执行后会立即返回一个提示符

-S :创建会话窗口

-d:指定会话进行离线处理

-r:恢复指定会话

-x:一次性恢复所有的会话

-ls:显示当前已有的会话

-wipe:把目前无法使用的会话删除

2)、screen -ls

查看当前的会话正在工作中

linux 配置ssh有几种方法

直接使用Linux系 统的root帐户登录系统,在很多环境下是不允许。而且如果网络中的所有机器都能使用ssh登录关键服务器也是不允许的。这就要求我们需要使用一些手段, 现在root帐号的登录,而且是只有指定的几台机器才能登录。当然限制登录的ip这些通过网络设备也恩那个完成。但是我们只需要了解怎么使用系统自己的功 能实现,这是每一个系统管理员都比较了解的。

1,修改ssh的配置文件,是root用户只能通过本地登录,不能通过远程ssh连接服务器。

vim /etc/ssh/sshd_config,

把#PermitRootLogin yes改成

PermitRootLogin no,然后重启ssh服务器,root用户就不能通过ssh远程登录系统了,只能通过一个普通帐号su或者本地登录。

2,可以同修改其他系统配置文件,使之能通过几个指定的IP远程ssh登录服务器。把下面这段放到root的.bash_profile文件中

ALLOWHOSTSLIST="192.168.163.1"

REMOTEHOST=$(env | grep SSH_CLIENT | awk '{print $1}' | awk -F "=" '{print $2}')

if echo "${ALLOWHOSTSLIST}" | grep "${REMOTEHOST}" /dev/null

then :

else

exit

fi

结果就只能通过IP地址是192.168.163.1这台服务器通过ssh远程连接本服务器了。

3,可以把需要ssh远程服务器的IP地址添加到/etc/hosts.allow,例如下面的操作:

sshd:192.168.163.1:allow #只允许这个IP地址ssh登录

sshd:192.168.163.:allow #允许这个网段的所有IP地址ssh登录

sshd:all:deny #拒绝所有没有出现在上面的IP地址的ssh连接

4,也可以使用iptables指定能够远程ssh到服务器的IP地址

iptables -A INPUT -p tcp --dport 22 -s 192.168.163.1 -j ACCEPT #允许这个IP地址ssh连接本服务器

iptables -A INPUT -p tcp --dport 22 -s 192.168.163.0/24 -j ACCEPT #允许这个网段的所有IP远程ssh连接本服务器

iptables -A INPUT -p tcp --dport 22 -j DROP #除了上面允许的IP地址外,都拒绝使用ssh连接到服务器

Linux 配置SSH免密登录

【比如:Jenkins构建时都是以jenkins用户进行操作,所以要以jeknins用户来配置免密钥登录。】

su - root

ssh-keygen -t rsa

A

[sjfuser@jenkins ~]$ ll /root/.ssh/

-rw-------. 1 sjfuser sjfuser 1671 4月 19 05:10 id_rsa

-rw-r--r--. 1 sjfuser sjfuser 398 4月 19 05:10 id_rsa.pub

-rw-r--r--. 1 sjfuser sjfuser 417 4月 19 05:08 known_hosts

B

-rw------- 1 root root 1217 Apr 21 10:46 /root/.ssh/authorized_keys

将此公钥写入任何一台远程主机的/root/.ssh/authorized_keys后,便可通过密钥登陆到远程主机。

任何一台主机,拿到该密钥id_rsa后,便可登陆写入了该公钥id_rsa.pub的主机。

如果添加指纹的时候提示添加失败,是因为你以前添加过了这个ip的指纹。

解决办法:将.ssh目录的known_hosts文件删除掉。也可以打开这个文件把对应ip的那条记录删除。

linux下开启SSH,并且允许root用户远程登录,允许无密码登录

参考:

1. 允许root用户远程登录

修改ssh服务配置文件

sudovi/etc/ssh/sshd_config

调整PermitRootLogin参数值为yes,如下图:

2. 允许无密码登录

同上,修改ssh服务配置文件,两种情况:

1) 将PermitEmptyPasswords yes前面的#号去掉

2) 将PermitEmptyPasswords 参数值修改为yes,如下图:

无论哪种,最后PermitEmptyPasswords参数值为yes

以上两种配置,均需要重启ssh服务

service sshd restart  # 或者/etc/initd.d/sshd restart

扩展:

为了安全起见,FreeBSD默认情况下是不允许root用户进行SSH远程登录的,需要进行以下操作才可以进行Root用户的ssh远程登录。

首先vi编辑/etc/inetd.conf,去掉ssh前的#注释,保存后:wq退出 (开启监听ssh服务)

编辑/etc/rc.conf, 最后加入:sshd_enable=”yes”即可

激活sshd服务:

#/etc/rc.d/sshd start

检查服务是否启动,在22端口应该有监听。

# check port number22

#netstat -an #或

#netstat -tnlp

最后,编辑ssh配置文件

#vi/etc/ssh/sshd_config

在/etc/ssh/sshd_config最后中加入

PermitRootLogin yes #允许root登录

PermitEmptyPasswords no #不允许空密码登录

PasswordAuthentication yes # 设置是否使用口令验证。

修改完配置文件后,重新启动sshd服务器(/etc/rc.d/sshd restart)即可。

补充:

1. 如果重启后还是不行, 请重新载入sshd_config 文件

/etc/rc.d/sshd reload

2. 如果出现using keyboard-interactive authentication

password:

请确认配置文件中,PasswordAuthentication参数值是否已经改成yes

另外如果客户端是putty, 那么请确认”尝试’智能键盘’认证(SSH-2)”的勾是否有去掉!!!!

3. 如果是使用root帐号登陆

请确认密码是否为空

空密码无法登陆

4. 请确认是否有安装SSH

确认sysinstallconfigurenetworkingsshd是否的勾是否有打上.

linux之ssh命令详解

ssh是什么呢? 👉百科上是这么说的

简单来说,在linux中SSH是非常常用的工具,通过SSH客户端我们可以连接到运行了SSH服务器的远程机器上,也就是说,我们可以通过ssh来远程控制我们的电脑或者服务器。那么ssh协议的优点就是数据传输是加密的,可以防止信息泄露,而且数据传输是压缩的,可以提高传输速度。

        它的命令格式是👉 ssh [-p port] user@remote

        user 是在远程机器上的用户名,如果不指定的话默认为当前用户

        remote 是远程机器的地址,可以是IP/域名,或者是别名

        port 是SSH Server监听的端口,如果不指定,就为默认值22

        (使用exit退出当前用户的登录)

        有关SSH配置信息都保存在用户家目录下的.ssh目录下

接下来,我们就来实际演示一下ssh命令的使用

首先我们需要两台linux系统的电脑来进行演示,所以我用虚拟机安装了两个linux的系统,分别命名为Deepin1和Deepin2(不得不说deepin真的是即好看又好用😄)

不过deepin操作系统默认ssh是没有开启的,我们需要手动将它开启。

第一步,在终端输入sudo apt-get install ssh安装ssh服务

第二步,在终端中输入sudo service ssh start开启ssh服务

注意:deepin1和deepin2都要执行上面两步来安装和开启ssh服务

安装并打开ssh之后,我们使用Deepin1来远程连接Deepin2,那么我们需要知道Deepin2的ip地址,在终端中输入ifconfig就可以知道当前机器的ip地址了,或者也可以直接把鼠标放到网络连接上,会直接显示出来。我这里Deepin2的IP地址为:192.168.56.132

然后,我们在Deepin1的终端中输入ssh -p 22 deepin2@192.168.56.132然后回车

这里 -p 22 可以省略,22表示ssh的端口号为22, deepin2 为Deepin2的用户名, 192.168.56.132 为Deepin2的ip地址。

第一次连接,会弹出来是否连接的确认信息,我们输入yes确认,然后输入deepin2的密码并回车。出现如下界面就表示连接成功了。

连接成功后,我们尝试输入 cd Desktop/ 切换到桌面目录,然后输入 touch 123.txt 在桌面下创建123.txt文件

我们再切换到Deepin2系统中,发现桌面上的确出现了一个新的文件123.txt,大功告成!

到这里ssh的基本操作其实已经演示完了,但是我们发现每次远程登陆的时候都需要重新输入密码,稍微有点麻烦,其实我们可以通过设置,进行免密码登录。

免密登录:

第一步,配置公钥。在Deepin1终端中执行ssh-keygen即可生成SSH钥匙,一路回车即可。

第二步,上传公钥到服务器。在Deepin1终端中执行ssh-copy-id -p port user@remotr(ssh-copy-id -p 22 deepin2@192.168.56.132)可以让远程服务器记住我们。

第三步,设置完成了,试一下是否能免密登录呢?

可以看到,当我们远程登陆deepin2时,并没有输入用户密码就登陆成功了!其实挺简单的不是吗?

【linux设置ssh】的内容来源于互联网,如引用不当,请联系我们修改。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942@qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: linux设置ssh(Linux设置sshd服务开机自启)
本文地址: https://solustack.com/26878.html

相关推荐:

网友留言:

我要评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。