如何使用 SSH 连接到你的云服务器

如何使用 SSH 连接到你的云服务器,第1张

以SSH
Secure
Shell
Client
329连接centos65服务器为例。1,下载安装SSH
Secure
Shell
Client
329此过程没有什么技术含量,默认安装就可以了。“SSH
Secure
Shell
Client”是“SSH安全Shell客户端”,连接服务器后出现的是字符命令 *** 作界面;“SSH
Secure
File
Transfer
Client”是“SSH的安全文件传输的客户端”,连接服务器后出现的是文件管理界面2,打开SSH,点击界面左上角的电脑标志,然后在d出的对话框中输入服务器的IP地址(公网IP),和账号——然后点击右边的“connect”按钮——输入密码,点击OK,进入到CentOS65中的命令字符界面,这样就成功连接上服务器了。
远程云服务器其实不复杂,希望对不会远程连接云服务器的朋友有所帮助。

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

对于第二种级别,你必须知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令。第二种级别不仅加密所有传送的数据,而且“中间人”这种攻击方式也是不可能的(因为他没有用户的私人密匙)。但是整个登录的过程可能需要10秒。

将本地用户生成的公钥推送至远程服务器后,远程主机将用户的公钥,保存在登录后的用户主目录的$HOME/ssh/authorized_keys文件中。公钥就是一段字符串,只要把它追加在authorized_keys文件的末尾就行了。
这里不使用ssh-copy-id命令,改用下面的命令,来解释公钥的保存过程:

输入命令 ssh user@host ,然后根据提示输入远程服务器的登录密码

也可在配置文件/etc/ssh/ssh_config 中设置user和host(ip), 来简化命令, 配置如下:

配置后, 登录请求时只需输入如下命令:

使用密码登录,每次都必须输入密码,非常麻烦。好在SSH还提供了公钥登录,可以省去输入密码的步骤。
公钥登录原理 :就是用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果解密验证成功,就证明用户是可信的,直接允许登录shell,不再要求密码。

执行上述命令首先会让你输入生成密钥的文件名: myPemKey (自定义),之后一路回车。

配置后,登录远程服务器时只需输入一下命令,便可直接登录成功:

修改后重启ssh服务

则远程连接时指定端口

(1) 通过iptables设置ssh端口的白名单,如下设置只允许19216810/24网段的客户机可以远程连接本机

(2) 通过/etc/hostsallow里面进行限制(如下),/etc/hostsdeny文件不要任何内容编辑,保持默认!

例如:

修改远程服务器ssh服务配置文件/etc/ssh/sshd_config

修改远程服务器配置文件/etc/ssh/sshd_config, 如下:

如果本机系统有些账号没有设置密码,而ssh配置文件里又没做限制,那么远程通过这个空密码账号就可以登陆了,这是及其不安全的,所以一定要禁止空密码登陆。
修改远程服务器配置文件/etc/ssh/sshd_config,如下:

参考:

        在实际运用中在当前服务器执行命令后,需要在另一台服务器继续执行某些命令,分开去到另一台服务器执行也是比较麻烦的,因此整理下集中执行的方式

1、首先配置ssh免密 *** 作

Linux 下实现SSH互信: >

目前,远程连接服务器的类型有以下几种: 
① 文字接口的明文传输:Telnet、RSH为主,很少用到。 
② 文字接口的加密传输:以SSH为主,已经取代了上面的明文传输方式。 
③ 图形接口:XDMCP、VNC、XRDP等较为常见。 
这篇文章只为实战,不为普及概念性知识。所以我只讲解在工作中最常用到的技术SSH。关于SFTP技术和VNC技术,请查阅我的其他博客。 
好,先来看一下SSH的相关技术: 
SSH,英文全程是Secure Shell Protocol(安全的壳程序协议)。SSH是现在公司基本上都在使用的一种文字接口的加密传输技术,采用的是非对称秘钥系统。

对于SSH的原理,你们可以参考我的另外一篇博客,我把链接贴在这里: 
SSH原理

⑴来吧,我们先来查看一下sshd这个服务(这就是SSH的远程连接必须开启的服务,属于系统自带),注意,一般这个sshd服务是默认自动开启的。

如果想要重启怎么办呢? 
好吧,请看:

上面两种重启动的方法都是可以滴!

⑵直接远程登录主机的命令: 
ssh -f -o 参数 -p 非标准端口 账号@IP 命令 
其中: 
-f : 需要配合后面的命令,不登录远程主机直接发送一个命令过去 
-o 参数 : 主要的参数有: 
ConnectTimeout=秒数 : 连接等待的秒数,减少等待的时间。 
StrictHostKeyChecking=yes|no|ask:默认是ask,若要让public key主动加入到known_hosts, 则可以设置为no即可。 
-p : 如果sshd服务启动在非标准端口下,需使用此参数。

举例说明吧: 
① 直接登录到对方主机: 
如果是以root用户登录到对方主机,有如下两种登录方式:

注意:如果是普通用户登录,必须使用第二种加@的方式。

② 实现登录对方主机,执行命令后就离开的方式。例如:从远程主机上执行cat /etc/passwd命令把文件显示在本地主机上。

③ 不登录对方主机,让对方主机自己运行该命令,你立刻回到本地机器继续工作:

④ 删除known_hosts后,重新使用root连接到本机,会自动加上公钥记录

你一定会说,大骗子玩漏了吧?怎么没有自动加上公钥记录呢?怎么记录信息提示手机选择yes/no了呢?别着急,我们的“-o”参数要横空出世了!有了-o,再也不用选择yes|no了,而是自动被选择了yes而加入到~/ssh/known_hosts中。

看到了,这次没有提示让选择yes|no吧! 
⑤ SSHD服务器详细配置

Centos默认的SSHD服务其实已经算是很安全了,这里注意Centos 5X之后默认SSH协议版本都是V2也就是上图的Protocol 2,默认端口是 22,注意这些还不够,如果是真正工作中的服务器,建议取消root的登录权限:

把红框中的yes改为no就可以取消root用户的登录权限了。

下面来介绍一个很有用的技术,制作不用密码可立即登录的SSH用户。有人会说制作这个是用来干嘛的?你想一想,如果想要利用crontab来定时执行备份或者拷贝的任务,因为每次SSH连接都要输入对方主机密码,这是在crontab中无法执行的,那么怎么办?只有不需要输入密码才可以 *** 作。 
方法如下: 
① 客户端建立两把钥匙 
我们在客户端创建一个用户user1 *** 作,利用user1来远程服务器端的user2用户。下面我们以1921681118为客户端,以1921681121为服务端。 
首先在客户端建立两把秘钥 
命令如下:

需要注意: 
⑴ ~/ssh目录的权限必须是700 
⑵ id_rsa(私钥文件)的权限必须是-rw——-,且属主必须是当前登录用户,否则在未来秘钥比对的过程中,可能会被判断为危险而无法成功的以公私钥成对的机制来实现连接。 
以上两点一般情况下默认都是正确的。

② 将公钥文件数据上传至服务器端

③ 将公钥文件放置到服务器端的正确目录中,并保证文件名正确 
一定要把公钥文件内容附加到authorized_keys这个文件内, *** 作用户为服务器端用户

注意:切记authorized_keys这个文件的权限必须是644

你好,
默认配置
Windows下有很多SSH工具。在这里我是用的是Putty。如果安装了Git并配置使用Putty的话,就不需要另外在安装Putty了。使用SSH连接服务器的命令如下:
ssh IP地址
一般来说为了安全性考虑,端口号等一些参数并不会使用默认值。这样的话命令就变成这样:
ssh 用户名@IP地址 -p 端口号
如果连接成功的话会提示你输入远程服务器的密码。全部成功之后SSH就会显示远程服务器的提示符,这时候就说明连接成功了。
密钥登录
每次登录SH都需要输入密码很麻烦,而且可能不太安全。SSH还能使用另外一种登录方式,也就是使用密钥登录。这种登录方式需要客户端生成一堆公钥私钥对,然后将公钥添加到服务器中,这样下次就可以直接登录了。
首先生成SSH密钥,依照提示输入信息即可。默认生成在用户主目录中的ssh文件夹中。带pub的是公钥,接下来需要添加到服务器中。
ssh-keygen
然后将本地公钥添加到服务器中,需要使用另一个命令:
scp -P 端口号 本地文件路径 用户名@远程服务器地址:远程路径
然后登陆服务器,找到复制进去的公钥,将公钥名字改为authorized_keys并添加到对应的ssh文件夹中。然后退出SSH重新登陆试试,成功的话不需要输入密码就会直接进入远程服务器。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/12796899.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存