Ubuntu客户端通过SSH方式远程登录Ubuntu服务器

简介:

1.概述

传统的远程登录(telnet,rlogin)时不安全的,他们在网络上用明文传输口令和数据,SSH则是安全的,openssh提供两种级别的验证方式。

(1)基于口令的安全验证:知道服务器的帐号密码即可远程登录,口令和数据在传输过程中都会被加密。

(2)基于密钥的安全验证:此时需要在创建一对密钥,把公有密钥放到远程服务器上自己的宿主目录中,而私有密钥则由自己保存。

2.软件安装

 sudo apt-cache policy openssh-client openssh-server 检查软件是否安装

服务端: sudo apt-get install openssh-server 

客户端: sudo apt-get install openssh-client (ubuntu10.10以后的版本都已经安装了)

该软件包中还携带了一些其他的SSH工具,如ssh-keygen用来生成私钥/公钥对;scp可以用通过ssh远程复制文件;stfp可以实现的ftp传输文件

3.配置文件

复制代码
zone@zone-ThinkPad-T410:/etc/ssh$ ls -l

total 148

-rw-r--r-- 1 root root 125749 2010-09-15 02:34 moduli  //ssh服务器的Diffie-Helllman密钥文件

-rw-r--r-- 1 root root   1669 2010-09-15 02:34 ssh_config  //ssh客户端配置文件

-rw-r--r-- 1 root root   2453 2011-03-09 14:09 sshd_config  //ssh服务器端配置文件

-rw------- 1 root root    672 2011-03-09 14:09 ssh_host_dsa_key  //ssh服务器端dsa算法私钥

-rw-r--r-- 1 root root    613 2011-03-09 14:09 ssh_host_dsa_key.pub  //ssh服务器rsa公钥

-rw------- 1 root root   1675 2011-03-09 14:09 ssh_host_rsa_key  //ssh服务器rsa算法私钥

-rw-r--r-- 1 root root    405 2011-03-09 14:09 ssh_host_rsa_key.pub  /ssh服务器rsa算法公钥
复制代码

4.常用命令

 sudo /etc/init.d/ssh start|stop|restart|status(其中一个) 

5.基于口令的认证

 ssh 192.168.0.143/主机名(server ip 192.168.0.143 

初次登录服务器时会出现许多信息,这是因为ssh不能识别这台主机,输入yes后将会把这台服务器的信息写入~/.ssh/known_hosts文件,下次登录时就不会出现这样的信息。

6.基于密钥的认证

将公钥复制到远程服务器上;

这样当client登录server时,会向server提出请求,用私钥认证;

server收到请求后,寻找公钥进行身份认证。

(1)生成密钥  ssh-keygen -t rsa/dsa( 默认rsa) 

生成私钥:~/.ssh/id_rsa,公钥~/.ssh/id_rsa.pub

(2) scp id_rsa.pub 192.168.0.143:.ssh/authorized_keys  并确保权限为644

(3) ssh 192.168.0.143  如果执行ssh-keygen过程中设置了私钥密码,则登录过程中会要求输入私钥密码。否则直接登录完成。

7.scp简单使用

 scp ip1:file1 ip2:file2 

其中第一个参数是源文件,第二个时目标文件,当参数是ssh登录到的主机时可以省略ip或者主机名。当是两个参数是两台远程主机的ip时,可以实现两台远程主机之间的文件传输。

例如 scp /home/zone/1.sh 192.168.0.143:/home/erpang 就会从服务器下载1.sh143主机的erpang目录下。


本文转自ZH奶酪博客园博客,原文链接:http://www.cnblogs.com/CheeseZH/p/4579921.html,如需转载请自行联系原作者

相关文章
|
8天前
|
JavaScript 应用服务中间件 Linux
【应用服务 App Service】解决无法从Azure门户SSH登录问题
【应用服务 App Service】解决无法从Azure门户SSH登录问题
|
9天前
|
机器学习/深度学习 存储 Linux
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
|
7天前
|
安全 Shell Linux
如何禁止某个用户使用ssh登录
本文介绍了五种禁止用户通过SSH登录的方法:1) 修改`/etc/ssh/sshd_config`文件中的`DenyUsers`和`DenyGroups`来阻止特定用户或用户组登录;2) 将用户的默认shell设置为`/usr/sbin/nologin`或`/bin/false`以禁用其SSH访问;3) 利用PAM(可插入认证模块)通过编辑`/etc/security/sshd.conf`来限制登录权限;4) 通过编辑`/etc/hosts.deny`文件拒绝特定用户的SSH访问;5) 锁定或禁用用户账号以阻止所有类型的登录。每种方法都提供了详细的步骤指导。
28 1
|
16天前
|
存储 安全 测试技术
【超实用却暗藏杀机】sshpass:一键免密SSH登录的神器,为何生产环境却要敬而远之?探秘背后的安全隐患与替代方案!
【8月更文挑战第16天】sshpass 是一款便捷工具,可实现自动化SSH登录,简化脚本中的远程连接流程。通过后台自动处理密码输入,便于执行远程操作,如 `sshpass -p 'yourpassword' ssh user@remotehost`。也可结合更多SSH选项使用,例如指定私钥文件。然而,因需明文传递密码,存在较大安全隐患,不适于生产环境;推荐使用公钥认证以增强安全性。
27 4
|
15天前
|
网络安全
mac下通过ssh脚本实现免账号密码连接运服务器
mac下通过ssh脚本实现免账号密码连接运服务器
27 3
|
15天前
|
监控 网络安全 数据安全/隐私保护
Mac服务器ssh连接工具
Mac服务器ssh连接工具
31 2
|
16天前
|
存储 Ubuntu 关系型数据库
在 Ubuntu 14.04 服务器上安装和使用 Graphite 的方法
在 Ubuntu 14.04 服务器上安装和使用 Graphite 的方法
11 1
|
2天前
|
网络安全 数据安全/隐私保护
VSC通过 SSH 连接到远程服务器时,每次都需要输入密码
VSC通过 SSH 连接到远程服务器时,每次都需要输入密码
20 0
|
10天前
|
安全 Linux Shell
Linux系统之间实现免密码登录(SSH无密码登录
【8月更文挑战第21天】要在Linux系统间实现SSH免密码登录,需先在源机器生成SSH密钥对,然后将公钥复制到目标机器的`.ssh/authorized_keys`文件中。可通过`ssh-keygen`命令生成密钥,并使用`ssh-copy-id`命令传输公钥。最后测试SSH连接,确保能无密码登录。若目标机器缺少相关目录或文件,需手动创建并设置适当权限。完成这些步骤后,即可实现安全便捷的免密码登录。
33 0
|
11天前
|
Ubuntu Linux 网络安全
在Linux中,如何禁用root用户直接SSH登录?
在Linux中,如何禁用root用户直接SSH登录?
下一篇
云函数