SSH

简介:

什么是SSH(Secure Shell)

一种专为远程登录会话和其他网络服务提供安全性的协议。

通俗的说法就是:一台机器(client)需要访问另一台机器(server),如何实现免密码访问呢?那么就可以使用SSH协议啦。

使用方法

服务器(server,被访问方)和客户端(client,访问方)均可作为产生公、私钥的机器,但客户端须存放私钥。一般情况下,在客户端产生一对公、私钥。

(例子中使用的是从一台机器的root用户访问francis用户,模拟的是client访问server,原理相同)

例:从client访问server,client端用户是root,server端用户是francis,那么可以先在client端/root/.ssh目录下使用密钥生成命令

ssh_keygen

,然后将公钥拷贝到server端对应用户名

/home/francis/.ssh/authorized_keys

下,(使用服务器端哪个用户名登录就将公钥拷贝到该用户名下的/.ssh/authorized_keys内)。

这样操作完成之后,就可以在client端使用ssh username@ip命令登录到server端。

ssh francis@192.168.222.128

完整命令

以在client端生成公、私钥为例

# 在当前用户目录下产生一对公、私钥
ssh_keygen 
# 将公钥拷贝至server端
cp id_rsa.pub /home/francis/.ssh/authorized_keys 
# 以server端用户francis身份通过SSH免密登录server
ssh francis@192.168.222.128 

注意

1、当authorized_keys 中存有多个公钥时,后续的公钥将以追加至其末尾方式添加,命令为:cat id_rsa.pub >> authorized_keys。

2、不可随意更改公私钥的权限,默认是600,更改之后将会报错,如下方所示。

# 修改权限
chmod 644 id_rsa
# 访问出错
ssh francis@192.168.222.128
# 改回权限
chmod 600 id_rsa

3、退出远程访问时使用exit命令

4、client和server并非是固定不变的,随着访问和被访问的关系转变,它们的角色也将发生变化,这时就需要在server端(francis)生成公私钥,然后将公钥拷贝到root端authorized_keys。

cp /home/francis/.ssh/id_rsa.pub /root/.ssh/authorized_keys
目录
相关文章
|
6月前
|
监控 Ubuntu 网络安全
SSH服务
【7月更文挑战第16天】
50 6
|
8月前
|
安全 算法 Shell
ssh远程登录协议
ssh远程登录协议
|
6月前
|
安全 Linux Shell
SSH服务详解(2)
SSH服务详解(2)
|
6月前
|
安全 Unix Linux
|
安全 Shell 网络安全
|
8月前
|
Linux 网络安全 Windows
3分钟学会SSH
3分钟学会SSH
52 2
|
算法 Linux 网络安全
ssh的使用
因为个人更推荐通过服务器->本地->服务器来传输。
92 0
ssh的使用
|
Shell 网络安全
SSH 技巧
SSH 是 Linux 下进行远程连接的基本工具。 一般情况下我们可以通过 ssh username@xxx.xxx.xxx.xxx 登录远程服务器,如果要管理多台服务器,这样太长了。
1149 0
|
网络协议 安全 网络安全
|
JavaScript 前端开发