ssh 登录_SSH简介及两种远程登录的方法

Secure Shell(SSH) 是建立在应用层基础上的安全网络协议。它是专为远程登录会话(甚至可以用Windows远程登录Linux服务器进行文件互传)和其他网络服务提供安全性的协议,可有效弥补网络中的漏洞。通过SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。目前已经成为Linux系统的标准配置。

a8074b5baaf42429b90b23abe45d3d6d.png

SSH的安全机制

SSH之所以能够保证安全,原因在于它采用了非对称加密技术(RSA)加密了所有传输的数据。

传统的网络服务程序,如FTP、Pop和Telnet其本质上都是不安全的,因为它们在网络上用明文传送数据、用户帐号和用户口令,很容易受到攻击。比如存在另一个人或者一台机器冒充真正的服务器接收用户传给服务器的数据,然后再冒充用户把数据传给真正的服务器。

但并不是说SSH就是绝对安全的,因为它本身提供两种级别的验证方法:

第一种级别(基于口令的安全验证):通过账号和口令登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人攻击”这种方式的攻击。

第二种级别(基于密钥的安全验证):为自己创建一对密钥,并把公钥放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密钥进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公钥,然后把它和你发送过来的公钥进行比较。如果两个密钥一致,服务器就用公钥加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私钥在本地解密再把它发送给服务器完成登录。与第一种级别相比,第二种级别不仅加密所有传输的数据,也不需要在网络上传送口令,因此安全性更高,可以有效防止中间人攻击。

启动服务器的SSH服务

首先确认服务已经启动了

ps -e | grep ssh

1bfb51d88181ab829834c625bfca3daa.png

如图,sshd 表示ssh-server已经启动了。如果没有启动,可以使用如下命令启动:

sudo /etc/init.d/ssh start

停止和重启ssh服务的命令如下:

sudo /etc/init.d/ssh stop  #server停止ssh服务 sudo /etc/init.d/ssh restart  #server重启ssh服务

SSH两种级别的远程登录

1.口令登录

口令登录非常简单,只需要一条命令,命令格式为: ssh 客户端用户名@服务器ip地址

ssh root@10.10.101.101

然后会弹出密码输入窗口,输入密码即可登录到远程机器上。

SSH服务的默认端口是22,也就是说,如果你不设置端口的话登录请求会自动送到远程主机的22端口。我们可以使用 -p 选项来修改端口号,比如连接到服务器的1234端口:

ssh -p 1234 ldz@192.168.0.1

2.公钥登录每次登录远程主机都需要输入密码是很不方便的,如果想要省去这一步骤,可以利用密钥对进行连接,还可以提高安全性。

①在本机生成密钥对

使用ssh-keygen命令生成密钥对:

ssh-keygen -t rsa   #-t表示类型选项,这里采用rsa加密算法

25ae625524d198804f01fda40d453c2f.png

如上图所示,根据提示一步步的按enter键即可(其中有一个提示是要求设置私钥口令passphrase,不设置则为空,这里看心情吧,如果不放心私钥的安全可以设置一下),执行结束以后会在 /home/当前用户 目录下生成一个 .ssh 文件夹,其中包含私钥文件 id_rsa 和公钥文件 id_rsa.pub。

私钥文件 id_rsa 和公钥文件 id_rsa.pub如下图所示:

90dfaad38782a8bbdbef8c368e2c9e3e.png

②将公钥复制到远程主机中

使用ssh-copy-id命令将公钥复制到远程主机。ssh-copy-id会将公钥写到远程主机的 ~/ .ssh/authorized_key 文件中

ssh-copy-id root@192.168.0.1

经过以上两个步骤,以后再登录这个远程主机就不用再输入密码了。

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要通过SSH远程登录服务器,您需要执行以下步骤: 1. 首先,确保您的本地计算机已经安装了SSH客户端。您可以使用以下命令来检查是否已安装客户端:dpkg -l | grep ssh 2. 如果您的本地计算机没有安装SSH客户端,您需要使用以下命令来安装:sudo apt-get install openssh-client 3. 在远程服务器上,您需要确保已经安装了SSH服务器。您可以使用以下命令来检查是否已安装服务器:dpkg -l | grep ssh 4. 如果您的远程服务器没有安装SSH服务器,您需要使用以下命令来安装:sudo apt-get install openssh-server 5. 一旦您的本地计算机和远程服务器都安装好了SSH客户端和服务器,您可以使用以下命令来停止和重启SSH服务: - 停止SSH服务:sudo /etc/init.d/ssh stop - 重启SSH服务:sudo /etc/init.d/ssh restart 这样,您就可以使用SSH远程登录到您的服务器了。请确保您已经获得了正确的远程登录凭据,并且远程服务器SSH端口已经开放。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [SSH简介两种远程登录方法](https://blog.csdn.net/li528405176/article/details/82810342)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值