LinuxSSH配置和禁止Root远程登陆设置文档

L i n u x S S H配置和禁止R o o t远程登陆设置2010-01-0713:161、servicesshdrestart???或者/etc/sshdrestart(ssh服务器重启)一、修改vi/etc/ssh/sshd_config文件1、修改默认端口:默认Port为22,并且已经注释掉了;修改是把注释去掉,并修改成其它的端口。

2、禁止root用户远程登陆:修改PermitRootLogin,默认为yes且注释掉了;修改是把注释去掉,并改成no。

3、PermitEmptyPasswords??no不允许空密码用户login二、ssh的公钥认证配置:修改vi/etc/ssh/sshd_config文件RSAAuthenticationyes???????#启用RSA认证(默认是注释掉的,将注释去掉,如果不是yes,改为yes)PubkeyAuthenticationyes????#启用公钥认证(默认是注释掉的,将注释去掉,如果不是yes,改为yes)PasswordAuthenticationno???#禁止密码认证(改为no,默认为yes是用密码认证) StrictModesno??#修改为no,默认为yes.如果不修改用key登陆是出现serverrefusedourkey(如果StrictModes为yes必需保证存放公钥的文件夹的拥有与登陆用户名是相同的.“StrictModes”设置ssh在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有权。

这通常是必要的,因为新手经常会把自己的目录和文件设成任何人都有写权限。

)之后重新启动ssh服务:/etc/sshrestart生成登陆公钥与私钥,[root@usousou192_168_0_21ssh]#ssh-keygen-trsaGeneratingpublic/privatersakeypair.Enterfileinwhichtosavethekey(/root/.ssh/id_rsa):/home/.ssh/id_rsa(生成私钥与公钥存放位置)Enterpassphrase(emptyfornopassphrase):输入密码Entersamepassphraseagain:再次输入密码Youridentificationhasbeensavedin/home/.ssh/id_rsa.???(生成的私钥) Yourpublickeyhasbeensavedin/home/.ssh/.(生成的公钥)Thekeyfingerprintis:76:04:4d:44:25:37:0f:b1:a5:b7:6e:63:d4:97:22:6b将生成的公钥匙传到要登陆的服务器上并追加到authorized_keys文件中,放到用户目录的.ssh中>>.ssh/authorized_keys(如果没有authorized_keys,可直接将重命名为authorized_keys,自己认为,没有测试过)使用putty连接ssh服务器。

为了使用公钥认证,我们需要同时下载puttygen这个工具来生成putty所使用的密钥如果你按照上面的介绍,在Linux下生成了公钥和密钥的话,那么需要利用puttygen 将密钥转换成putty使用的格式。

将Linux下生成的密钥id_rsa复制到Windows下。

启动puttygen,然后单击Load按钮,选择文件类型为所有文件,然后选择id_rsa,打开。

若在生成密钥时输入了密码,则打开时需要输入该密码(用linux生成密钥时输入的密码)。

之后就可以在puttygen的主界面上单击Saveprivatekey,保存成putty 格式的密钥。

最好确定用户目录下的.ssh文件夹对于拥有者有读写执行的权限,最低要有执行权限,如700或者100;authorized_keys文件中有读的权限注:AuthorizedKeysFile?????.ssh/authorized_keys(认证文件的目录与公钥文件名称,可以修改,并且相应目录也要修改,如AuthorizedKeysFile?????.sshd/,需要在用户目录下建立.sshd文件夹,将文件放到下面)为什么要使用公钥认证通常,通过ssh登录远程服务器时,使用密码认证,分别输入用户名和密码,两者满足一定规则就可以登录。

但是密码认证有以下的缺点:用户无法设置空密码(即使系统允许空密码,也会十分危险)密码容易被人偷窥或猜到服务器上的一个帐户若要给多人使用,则必须让所有使用者都知道密码,导致密码容易泄露,而且修改密码时必须通知所有人而使用公钥认证则可以解决上述问题。

公钥认证允许使用空密码,省去每次登录都需要输入密码的麻烦多个使用者可以通过各自的密钥登录到系统上的同一个用户公钥认证的原理所谓的公钥认证,实际上是使用一对加密字符串,一个称为公钥(publickey),任何人都可以看到其内容,用于加密;另一个称为密钥(privatekey),只有拥有者才能看到,用于解密。

通过公钥加密过的密文使用密钥可以轻松解密,但根据公钥来猜测密钥却十分困难。

ssh的公钥认证就是使用了这一特性。

服务器和客户端都各自拥有自己的公钥和密钥。

为了说明方便,以下将使用这些符号。

Ac客户端公钥Bc客户端密钥As服务器公钥Bs服务器密钥在认证之前,客户端需要通过某种方法将公钥Ac登录到服务器上。

认证过程分为两个步骤。

会话密钥(sessionkey)生成客户端请求连接服务器,服务器将As发送给客户端。

服务器生成会话ID(sessionid),设为p,发送给客户端。

客户端生成会话密钥(sessionkey),设为q,并计算r=pxorq。

客户端将r用As进行加密,结果发送给服务器。

服务器用Bs进行解密,获得r。

服务器进行rxorp的运算,获得q。

至此服务器和客户端都知道了会话密钥q,以后的传输都将被q加密。

认证服务器生成随机数x,并用Ac加密后生成结果S(x),发送给客户端客户端使用Bc解密S(x)得到x客户端计算q+x的md5值n(q+x),q为上一步得到的会话密钥服务器计算q+x的md5值m(q+x)客户端将n(q+x)发送给服务器服务器比较m(q+x)和n(q+x),两者相同则认证成功服务器端设置使用公钥认证需要对服务器进行一些设置。

修改/etc/sshd_config的以下配置。

RSAAuthenticationyes???????#启用RSA认证PubkeyAuthenticationyes????#启用公钥认证PasswordAuthenticationno???#禁止密码认证StrictModesno??#修改为no,默认为yes.如果不修改用key登陆是出现serverrefusedourkey然后重新启动sshd。

/etc/sshrestart客户端设置Linux假设客户端的用户charlee要以guest用户登录到服务器上。

首先在客户端执行下面的命令。

[charlee@client:~]$ssh-keygen-trsaGeneratingpublic/privatersa1keypair.Enterfileinwhichtosavethekey(/home/charlee/.ssh/id_rsa):Enterpassphrase(emptyfornopassphrase):输入密码Entersamepassphraseagain:??再次输入密码Youridentificationhasbeensabedin/home/charlee/.ssh/id_rsa Yourpublickeyhasbeensavedin/home/charlee/.ssh/生成的文件保存在主目录的.ssh 目录下,id_rsa为客户端密钥,为客户端公钥。

之后,通过U盘等方式将公钥复制到服务器上,并执行下列命令。

[guest@server:~]$>>.ssh/authorized_keys其中是客户端的用户charlee的公钥。

这样在客户端即可通过以下的命令连接服务器。

[charlee@client:~]$ssh-lguestserver若不想每次登录服务器时都输入密码,可以先执行下列命令:[charlee@client:~]$ssh-addEnterpassphrasefor/home/charlee/.ssh/id_rsa:输入密码Identityadded:/home/charlee/.ssh/id_rsa(/home/charlee/.ssh/id_rsa)以后登录服务器就不需要输入密码了。

Windows假设我们使用putty连接ssh服务器。

为了使用公钥认证,我们需要同时下载puttygen这个工具来生成putty所使用的密钥。

使用Linux下生成的公钥和密钥的情况如果你按照上面的介绍,在Linux下生成了公钥和密钥的话,那么需要利用puttygen 将密钥转换成putty使用的格式。

将Linux下生成的密钥id_rsa复制到Windows下。

启动puttygen,然后单击Load按钮,选择文件类型为所有文件,然后选择id_rsa,打开。

若在生成密钥时输入了密码,则打开时需要输入该密码。

之后就可以在puttygen的主界面上单击Saveprivatekey,保存成putty格式的密钥。

使用puttygen生成公钥和密钥你也可以利用puttygen直接生成公钥和密钥。

打开puttygen,然后在画面下方的Parameters栏选择加密算法和加密长度(一般取默认值即可),最后单击Generate。

画面上会出现一个进度条,在界面上随意移动鼠标以生成随机数。

最后提示生成结束,单击Saveprivatekey按钮保存密钥。

最后将上方的PublickeyforpastingintoOpenSSHauthorized_keysfile栏中的内容复制到Linux下用户主目录下的~/.ssh/authorized_keys文件中。

设置putty使用公钥认证先在putty中设置好连接的主机名、端口等信息(说明省略)。

使用公钥认证需要设置两个地方:一个是Connection中的Auto-loginusername,输入在服务器上的用户名;另一个是Connection->SSH->Auth中的Privatekeyfileforauthentication,选择刚才转换或生成的.ppk格式的密钥。

之后即可使用公钥认证进行连接了。

合集下载

Linux配置SSH免密登录“ssh-keygen”的基本用法

Linux配置SSH免密登录“ssh-keygen”的基本用法

Linux配置SSH免密登录“ssh-keygen”的基本⽤法⽬录1 什么是SSH2 配置SSH免密登录2.1 安装必需的软件2.2 ssh-keygen创建公钥-私钥对2.3 ssh-copy-id把A的公钥发送给B2.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-keygenLoaded plugins: fastestmirror, langpacksbase | 3.6 kB 00:00:00epel | 3.6 kB 00:00:00extras | 2.9 kB 00:00:00updates | 2.9 kB 00:00:00Loading mirror speeds from cached hostfileNo package ssh-keygen available.Error: Nothing to do# 安装ssh-copy-id[root@localhost ~]# yum install -y ssh-copy-idLoaded plugins: fastestmirror, langpacksLoading mirror speeds from cached hostfileNo package ssh-copy-id available.Error: Nothing to do2.2 ssh-keygen创建公钥-私钥对(1) 在指定⽬录下⽣成rsa密钥, 并指定注释为“shoufeng”, 实现⽰例:[root@localhost ~]# ssh-keygen -t rsa -f ~/.ssh/id_rsa -C "shoufeng"# ~密钥类型 ~密钥⽂件路径及名称 ~ 备注信息Generating public/private rsa key pair.Enter passphrase (empty for no passphrase): # 输⼊密码, 若不输⼊则直接回车Enter same passphrase again: # 再次确认密码, 若不输⼊则直接回车Your identification has been saved in /root/.ssh/id_rsa.Your public key has been saved in /root/.ssh/id_rsa.pub.The key fingerprint is:9a:e3:94:b9:69:c8:e9:68:4b:dc:fa:43:25:7f:53:f1 shoufengThe key's randomart image is:+--[ RSA 2048]----+| || . || o || . . . E || + S. || . .. .=o || oo.oB. . || ..o=o.+ || .++oo+ |+-----------------+注意: 密钥的⽂件名称必须是id_xxx, 这⾥的xxx就是-t参数指定的密钥类型. ⽐如密钥类型是rsa, 那么密钥⽂件名就必须是id_rsa.(2) ssh-keygen常⽤参数说明:-t: 密钥类型, 可以选择 dsa | ecdsa | ed25519 | rsa;-f: 密钥⽬录位置, 默认为当前⽤户home路径下的.ssh隐藏⽬录, 也就是~/.ssh/, 同时默认密钥⽂件名以id_rsa开头. 如果是root⽤户, 则在/root/.ssh/id_rsa, 若为其他⽤户, 则在/home/username/.ssh/id_rsa; -C: 指定此密钥的备注信息, 需要配置多个免密登录时, 建议携带;-N: 指定此密钥对的密码, 如果指定此参数, 则命令执⾏过程中就不会出现交互确认密码的信息了.举例说明: 同时指定⽬录位置、密码、注释信息, 就不需要输⼊回车键即可完成创建:ssh-keygen -t rsa -f ~/.ssh/id_rsa -N shoufeng -C shoufeng(3) 前往~/.ssh/⽬录下查看⽣成的⽂件:# ⽣成的⽂件以test_rsa开头, test_rsa是私钥, test_rsa.pub是公钥:[root@localhost .ssh]# lstest_rsa test_rsa.pub# 通过cat命令查看公钥⽂件:[root@localhost .ssh]# cat id_rsa.pubssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2JpLMqgeg9jB9ZztOCw0WMS8hdVpFxthqG1vOQTOji/cp0+8RUZl3P6NtzqfHbs0iTcY0ypIJGgx4eXyipfLvilV2bSxRINCVV73VnydVYl5gLHsrgOx+372Wovlanq7Mxq06qAONjuRD0c64xqdJFKb1Ov# 可以看到最后有⼀个注释内容shoufeng2.3 ssh-copy-id把A的公钥发送给B默认⽤法是: ssh-copy-id root@172.16.22.132, ssh-copy-id命令连接远程服务器时的默认端⼝是22, 当然可以指定⽂件、远程主机的IP、⽤户和端⼝:# 指定要拷贝的本地⽂件、远程主机的IP+⽤户名+端⼝号:[root@localhost .ssh]# ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 root@172.16.22.132/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keysroot@172.16.22.132's password: # 输⼊密码后, 将拷贝公钥Number of key(s) added: 1Now try logging into the machine, with: "ssh -p '22' 'root@172.16.22.132'"and check to make sure that only the key(s) you wanted were added.2.4 在A服务器上免密登录B服务器[root@localhost .ssh]# ssh root@172.16.22.132Last login: Fri Jun 14 08:46:04 2019 from 192.168.34.16 # 登录成功3 扩展说明3.1 其他⽅式发送公钥⽂件上述2.3步骤是通过ssh-copy-id⼯具发送公钥⽂件的, 当然我们也可以通过其他⽅式实现:(1) 将A的公钥⽂件发给B:通过scp命令将A服务器的公钥⽂件发送到B服务器的⽤户⽬录下, 因为还没有配置成功免密登录, 所以期间需要输⼊B服务器对应⽤户的密码:[root@localhost .ssh]# scp id_rsa.pub root@172.16.22.132:/root/.sshroot@172.16.22.132's password:id_rsa.pub 100% 390 0.4KB/s 00:00(2) 在B上创建authorized_keys⽂件:[root@localhost .ssh]# cd /root/.ssh/[root@localhost .ssh]# lsid_rsa.pub# 通过A服务器的公钥⽣成"authorized_keys"⽂件:[root@localhost .ssh]# cat id_rsa.pub >> authorized_keys[root@localhost .ssh]# cat authorized_keysssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2JpLMqgeg9jB9ZztOCw0WMS8hdVpFxthqG1vOQTOji/cp0+8RUZl3P6NtzqfHbs0iTcY0ypIJGgx4eXyipfLvilV2bSxRINCVV73VnydVYl5gLHsrgOx+372Wovlanq7Mxq06qAONjuRD0c64xqdJFKb1OvS/nyKaOr9注意: 上述重定向时使⽤>>进⾏追加, 不要⽤>, 那会清空原有内容.3.2 ⽂件权限为了让私钥⽂件和公钥⽂件能够在认证中起作⽤, 需要确保权限的正确性:①对于.ssh⽬录以及其内部的公钥、私钥⽂件, 当前⽤户⾄少要有执⾏权限, 其他⽤户最多只能有执⾏权限.②不要图省事设置成777权限: 太⼤的权限不安全, ⽽且数字签名也不⽀持这种权限策略.③对普通⽤户, 建议设置成600权限: chmod 600 authorized_keys id_rsa id_rsa.pub;④对root⽤户, 建议设置成644权限: chmod 644 authorized_keys id_rsa id_rsa.pub.3.3 ⽂件的编辑和查看在Liunx环境下, 如果要查看、复制私钥、公钥, 以及authorized_keys等⽂件, 不要使⽤vim等编辑器打开, 因为它会产⽣不必要的回车;应该通过cat、more、less等查看命令把内容打印到终端上, 再作查看、复制等操作.总结以上所述是⼩编给⼤家介绍的Linux 配置SSH免密登录 “ssh-keygen”的基本⽤法 ,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。

SSH远程登录配置文件sshd_config详解

SSH远程登录配置文件sshd_config详解

SSH远程登录配置⽂件sshd_config详解SSH由客户端和服务端的软件组成,在客户端可以使⽤的软件有SecureCRT、putty、Xshell等,⽽在服务器端运⾏的是⼀个sshd的服务,通过使⽤SSH,可以把所有传输的数据进⾏加密,⽽且也能够防⽌dns和IP欺骗,此外,SSH传输的数据是经过压缩的,可以加快传输速度其服务器端的配置⽂件为/etc/ssh/sshd_config[root@test ~]# cat /etc/ssh/sshd_config# $OpenBSD: sshd_config,v 1.73 2005/12/06 22:38:28 reyk Exp $# This is the sshd server system-wide configuration file. See# sshd_config(5) for more information.# This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin# The strategy used for options in the default sshd_config shipped with# OpenSSH is to specify options with their default value where# possible, but leave them commented. Uncommented options change a# default value.#############1. 关于 SSH Server 的整体设定###############Port 22##port⽤来设置sshd监听的端⼝,为了安全起见,建议更改默认的22端⼝为5位以上陌⽣端⼝#Protocol 2,1Protocol 2##设置协议版本为SSH1或SSH2,SSH1存在漏洞与缺陷,选择SSH2#AddressFamily any#ListenAddress 0.0.0.0#ListenAddress⽤来设置sshd服务器绑定的IP地址##监听的主机适配卡,举个例⼦来说,如果您有两个 IP,分别是 192.168.0.11 及 192.168.2.20 ,那么只想要###开放 192.168.0.11 时,就可以设置为:ListenAddress 192.168.0.11####表⽰只监听来⾃ 192.168.0.11 这个 IP 的SSH联机。

linux系统下的ssh登录和配置方法

linux系统下的ssh登录和配置方法

linux系统下的ssh登录和配置⽅法⼀ ssh的两种登录⽅式1密码登录:[root@westos Desktop]# ssh root@192.168.122.26Address 192.168.122.26 maps to bogon, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!root@192.168.122.26's password:Last login: Tue Jan 17 13:27:29 2017 from 192.168.122.12公钥密钥登录客户端连接服务器时候会⽣成.ssh⽬录,此时保证客户端下⽣成.ssh⽬录第⼀步服务器端⽣成公钥和密钥查看.ssh⽂件下的内容;第⼆步:服务器添加认证第四步:服务器分发私钥给客户端完成之后就可以让指定IP的客户端不⽤密码连接⼆ssh的配置在服务器的/etc/ssh/sshd_cinfig⽂件下可以管理ssh服务:PasswordAuthentication yes/on ----------------------> 开启或者关闭密码连接PermitRootLogin yes/no ----------------------------->允许超级⽤户登录AllowUsers student----------------------------->只允许登录的⽤户DenyUsers student-------------------------->不允许登录的⽤户好了,下⾯介绍下Linux ssh登录命令ssh命令⽤于远程登录上Linux主机。

常⽤格式:ssh [-l login_name] [-p port] [user@]hostname更详细的可以⽤ssh -h查看。

举例不指定⽤户:ssh 192.168.0.11指定⽤户:ssh -l root 192.168.0.11ssh root@192.168.0.11如果修改过ssh登录端⼝的可以:ssh -p 12333 192.168.0.11ssh -l root -p 12333 216.230.230.114ssh -p 12333 root@216.230.230.114另外修改配置⽂件/etc/ssh/sshd_config,可以改ssh登录端⼝和禁⽌root登录。

linux 服务器禁止root用户的远程直接登录,并且系应该ssh的默认端口

linux 服务器禁止root用户的远程直接登录,并且系应该ssh的默认端口

linux 服务器禁止root用户的远程直接登录并修改ssh的
默认端口
1.创建用户任意比如oracle。

2.root下设置密码。

3.打开修改/etc/ssh/sshd_config文件配置文件
################################################################# ##########
LoginGraceTime 120
PermitRootLogin no
AllowUsers root.adminssh
#StrictModes yes
将PermitRootLogin项改为no,即禁止ROOT直接登陆,相反改为yes,则可以ROOT 用户直接登陆
系统中新建一用户,如何允许其SSH登陆
同样修改/etc/sshs/shd_config文件配置文件
将用户名称添加到文件中,加入新建一用户oracle
################################################################# ##########
AllowUsers wangluo
次句加在任意位置,但是保证前面没有#注释掉。

4.找到port一项,将本行前面的#号去掉,将22改成某一非有名端口号。

退出保存。

5.etc/init.d/sshd restart 重启sshd
oracle用户即可直接SSH连接登陆,但是如果已经在root上登录了不会断掉。

SuSE Linux 11 开启SSH 关闭防火墙 开启FTP

SuSE Linux 11 开启SSH 关闭防火墙 开启FTP

SuSE Linux启用SSH 步骤一:用root用户登录系统步骤二:(1)修改sshd_config文件vi /etc/ssh/sshd_config #SSH配置文件删除#PermitRootLogin前的# #允许Root登录修改PasswordAuthentication值为yse #密码验证:wq #保存退出(2)重启SSH服务/etc/init.d/sshd restart #重启SSH服务步骤三:(1)修改SuSEfirewall2文件vi /etc/sysconfig/SuSEfirewall2 #SuSE防火墙配置文件:wq #保存退出(2)重启防火墙/sbin/rcSuSEfirewall2 restart #重启防火墙——结束SuSE Linux禁用防火墙步骤一:停止防火墙程序/etc/init.d/SuSEfirewall2_setup stop/etc/init.d/SuSEfirewall2_init stop步骤二:禁止开机启动防火墙chkconfig SuSEfirewall2_setup offchkconfig SuSEfirewall2_init off——结束SuSE Linux启用FTP 步骤一:用root用户登录系统步骤二:进入YaSTYaST #进入YaST工具选择Network Services -> Network Services (xinetd)将Network Service Configuration (xinetd) 改为Enable启用ftp服务( server为/usr/sbin/vsftpd的一条)( 按Tab切到[Toggle Status (On or Off)] )选择[Finish] #完成设置选择[Quit] #退出YaST步骤三:修改vsftpd.conf文件vi /etc/vsftpd.conf #FTP配置文件在listen=YES前面加上#在末尾加入下列行write_enable=YES #允许写入local_enable=YES #允许本地用户登录local_umask=022 #默认权限设置ascii_upload_enable=YES #允许上传二进制文件ascii_download_enable=YES #允许下载二进制文件步骤四:修改ftpusers文件vi /etc/ftpusers #FTP用户配置文件在root前面加#:wq #保存退出步骤五:重启FTP服务rcxinetd restart #重启xinetd服务——结束。

Linux终端中的远程连接和远程管理命令

Linux终端中的远程连接和远程管理命令

Linux终端中的远程连接和远程管理命令在Linux终端中,我们可以利用各种远程连接和远程管理命令来管理远程服务器或其他网络设备。

这些命令能够帮助我们在不同的终端之间进行数据传输、文件共享和远程控制等操作,大大提高了工作的效率和便利性。

本文将介绍几个常用的Linux远程连接和远程管理命令,并给出使用示例。

一、SSH命令SSH(Secure Shell)是一种网络协议,用于在不安全的网络环境中对计算机进行安全的远程登录。

通过SSH命令,我们可以远程连接到服务器或其他远程设备,并进行文件传输和远程操作。

1. 远程登录SSH命令最常用的功能是远程登录。

我们可以通过以下命令来登录到远程服务器:```ssh [用户名]@[服务器地址]```例如,登录到IP地址为192.168.0.1的服务器,用户名为admin的账户,可以使用以下命令:```****************.0.1登录成功后,需要输入密码进行身份验证。

2. 文件传输SSH还可以用于文件传输。

通过SCP命令(Secure Copy),我们可以在本地计算机和远程服务器之间进行文件复制。

```scp [源文件路径] [目标文件路径]```例如,将本地文件`/home/user/file.txt`复制到远程服务器的`/tmp`目录中,可以使用以下命令:```scp/home/user/*********************.0.1:/tmp```二、Telnet命令Telnet是一种常用的远程登录协议,可以在本地计算机上远程登录到其他计算机。

虽然Telnet在数据传输过程中不提供加密功能,安全性较低,但它仍然用于简单的远程管理任务。

1. 远程登录Telnet命令可以通过以下方式登录到远程服务器:telnet [服务器地址]```例如,登录到IP地址为192.168.0.1的服务器,可以使用以下命令:```telnet 192.168.0.1```登录成功后,需要输入用户名和密码进行身份验证。

Linux实验ssh配置详解

Linux实验ssh配置详解⼀、ssh详解1、什么是ssh简单来说,ssh是⼀种⽹络协议,⽤于计算机之间的加密登录。

如果⼀个⽤户从本地计算机,使⽤ssh协议登录另⼀台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。

需要指出的是,ssh只有⼀种协议,存在多种实现,既有商业实现,也有开源实现。

2、基本⽤法(1)使⽤某个⽤户(例如user)登录远程主机host命令:ssh user@host(2)如果本地⽤户名和远程⽤户名⼀致,则登录时可以省略⽤户名命令:ssh host(3)ssh的默认端⼝是22,也就是说,你的登录请求会送进远程主机的22端⼝。

使⽤-p参数,可以修改这个端⼝命令:ssh –p 端⼝号 user@host3、中间⼈攻击SSH之所以能够保证安全,原因在于它采⽤了公钥加密。

整个过程如下:(1)远程主机收到⽤户的登录请求,把⾃⼰的公钥发给⽤户。

(2)⽤户使⽤这个公钥,将登录密码加密后,发送回来。

(3)远程主机⽤⾃⼰的私钥,解密登录密码,如果密码正确,就同意⽤户登录。

这个过程本⾝是安全的,但是实施的时候存在⼀个风险:如果有⼈截获了登录请求,然后冒充远程主机,将伪造的公钥发给⽤户,那么⽤户很难辨别真伪。

因为不像https协议,SSH协议的公钥是没有证书中⼼(CA)公证的,也就是说,都是⾃⼰签发的。

可以设想,如果攻击者插在⽤户与远程主机之间(⽐如在公共的wifi区域),⽤伪造的公钥,获取⽤户的登录密码。

再⽤这个密码登录远程主机,那么SSH的安全机制就荡然⽆存了。

这种风险就是著名的"中间⼈攻击"。

4、ssh的安全验证SSH有⾃⼰的⼀套验证⽅式,可以阻拦⼤部分的攻击,当然如果有⼈想通过撞库来尝试密码的话,就只有设置防⽕墙或者做其它的安全措施了。

从客户端来看,SSH提供两种级别的安全验证。

(1)第⼀种级别(基于⼝令的安全验证)只要你知道⾃⼰帐号和⼝令,就可以登录到远程主机。

linux 免密登录方法

linux 免密登录方法Linux是一种常用的操作系统,它具有高度的灵活性和安全性。

在Linux中,免密登录是一个非常常见的需求,它可以提高用户的使用效率并简化操作流程。

本文将介绍几种实现Linux免密登录的方法,帮助用户轻松实现免密登录。

一、使用公钥认证实现免密登录公钥认证是一种基于非对称加密的身份认证方式,它通过生成一对密钥,即公钥和私钥,来实现身份认证。

在Linux中,使用公钥认证可以实现免密登录。

具体步骤如下:1. 生成密钥对需要在客户端上生成密钥对。

可以使用以下命令生成密钥对:```$ ssh-keygen```按照提示输入密钥保存路径和密码,即可生成密钥对。

2. 复制公钥到服务器生成密钥对后,需要将公钥复制到服务器上。

可以使用以下命令将公钥复制到服务器上:```$ ssh-copy-id username@server_ip其中,username是服务器上的用户名,server_ip是服务器的IP 地址。

3. 免密登录完成以上步骤后,就可以实现免密登录了。

可以使用以下命令测试免密登录:```$ ssh username@server_ip```如果成功登录服务器而不需要输入密码,则表示免密登录已经成功实现。

二、使用密钥管理工具实现免密登录除了使用公钥认证,还可以使用一些密钥管理工具来实现免密登录。

这些工具可以帮助用户管理密钥,并自动完成密钥的复制和配置。

以下是几个常用的密钥管理工具:1. ssh-copy-idssh-copy-id是一个用于将公钥复制到服务器的工具。

可以使用以下命令将公钥复制到服务器上:```$ ssh-copy-id username@server_ip其中,username是服务器上的用户名,server_ip是服务器的IP 地址。

2. keychainkeychain是一个用于管理密钥的工具,它可以自动加载和管理密钥。

可以使用以下命令安装keychain:```$ sudo apt-get install keychain```安装完成后,可以使用以下命令将密钥添加到keychain中:```$ keychain ~/.ssh/id_rsa```然后,每次登录服务器时,keychain会自动加载密钥,实现免密登录。

实用技巧使用ssh和scp命令进行远程登录传输和管理

实用技巧使用ssh和scp命令进行远程登录传输和管理在计算机网络中,SSH(Secure Shell)是一种加密的网络协议,用于在不安全的网络上安全地进行远程登录和数据传输。

它提供了多种功能,从简单的远程命令执行到基于公钥的身份验证。

与之配套使用的SCP(Secure Copy)命令则是一种远程文件传输协议,通过SSH通道进行加密传输。

本文将介绍如何使用SSH和SCP命令进行远程登录、传输和管理。

一、使用SSH命令进行远程登录SSH命令可以连接到远程计算机,并在远程计算机上执行命令。

1. 打开终端(命令行界面)。

2. 输入以下命令(假设目标计算机的IP地址为x.x.x.x):``***************.x.x``其中,username为目标计算机上的用户名。

如果你是用于远程登录的计算机的当前用户,则可以省略用户名。

3. 输入目标计算机的密码。

如果你是第一次连接到目标计算机,系统可能会要求你确认目标计算机的指纹(fingerprint)。

输入“yes”来确认。

4. 成功登录后,你将进入目标计算机的命令行界面。

你可以在这里执行任意的命令。

二、使用SCP命令进行文件传输SCP命令可以在本地计算机和远程计算机之间进行文件传输。

1. 将文件从本地计算机上传到远程计算机:``scp/path/to/local/****************.x.x:/path/to/remote/directory``其中,/path/to/local/file为本地计算机上要传输的文件的路径,username为远程计算机的用户名,x.x.x.x为远程计算机的IP地址,/path/to/remote/directory为远程计算机上要保存文件的目录路径。

2. 将文件从远程计算机下载到本地计算机:``***************.x.x:/path/to/remote/file/path/to/local/directory``其中,/path/to/remote/file为远程计算机上要传输的文件的路径,/path/to/local/directory为本地计算机上要保存文件的目录路径。

禁止root远程登录解决办法

禁⽌root远程登录解决办法linux中root⽤户是超级管理员,可以针对root⽤户暴⼒破解密码,这样很不安全,⼯作中我们⼀般禁⽌root⽤户直接远程登陆,开设⼀个或多个普通⽤户,只允许登陆普通⽤户,如果有需要⽤root⽤户,可以su切换root 或者sudo来拥有root权限执⾏命令。

⼀、root⽆法远程登陆,但所有⽤户可以切换root⾸先打开配置⽂件:vim /etc/ssh/sshd_config这⾏的意思是允许使⽤root⽤户登陆,所以我们将它改为no,不允许root⽤户直接登陆。

保存退出配置⽂件后,重启sshd服务:systemctl restart sshd.service重新建⽴连接就发现root⽤户已经不能登陆了,我们只能通过普通⽤户登陆再进⾏切换。

⼆、root⽆法远程登陆,但只有特定的⽤户才可以切换root⼀般情况下, 普通⽤户执⾏”su -“命令, 可以登录为root。

为了加强系统的安全性, 有必要建⽴⼀个管理员的组, 只允许这个组的⽤户执⾏”su -”命令登录为root, ⽽让其他组的⽤户即使执⾏”su -” 输⼊了正确的密码, 也⽆法登录为root⽤户. 在Unix 和Linux 下, 这个组的名称通常为”wheel”.1、添加⼀个⽤户, 把这个⽤户加⼊wheel组adduser adminpasswd adminusermod -G wheel admin2、修改/etc/pam.d/suauth required pam_wheel.so use_uid 去掉这⾏注释3 修改/etc/login.defsvim /etc/login.defs在⽂件末添加⼀⾏SU_WHEEL_ONLY yes三、添加和root权限⼀样的⽤户adduser adminpasswd admin (修改密码,密码要遵循密码复杂性)修改 /etc/sudoers ⽂件,找到下⾯⼀⾏,在root下⾯添加⼀⾏,如下所⽰:vim /etc/sudoers## Allow root to run any commands anywhereroot ALL=(ALL) ALLadmin ALL=(ALL) ALL这个⽂件只读是⼀种保护机制,如果你使⽤vi编辑器的话,只要保存时使⽤:wq!就可以保存了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档