本文目录:
- 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】的内容来源于互联网,如引用不当,请联系我们修改。
网友留言: