SSH的使用

SSH是一个用来替代TELNET、FTP以及R命令的工具包,主要是想解决口令在网上明文传输的问题。为了系统安全和用户自身的权益,推广SSH是必要的。SSH有两个版本,我们现在介绍的是版本2。



安装SSH

具体步骤如下:


获得SSH软件包。 ( ftp://ftp.pku.edu.cn:/pub/unix/ssh-2.3.0.tar.gz)


成为超级用户(root).


# gzip –cd ssh-2.3.0.tar.gz |tar xvf –


# cd ssh-2.3.0


# ./configure

注意,如果你希望用tcp_wrappers来控制SSH,那么在configure时需要加上选项“--with-libwrap=/path/to/libwrap/”, 用来告诉SSH关于libwrap.a 和tcpd.h的位置。


# make


# make install

和SSH有关的程序都放置在/usr/local/bin下,包括ssh,sftp,sshd2, ssh-keygen等。


二、配置

SSH的配置文件在/etc/ssh2下,其中包括sshd2的主机公钥和私钥:hostkey和hostkey.pub。这两个文件通常是在安装SSH时自动生成的。你可以通过下面的命令重新来生成它们:

# rm /etc/ssh2/hostkey*

# ssh-keygen2 –P /etc/ssh2/hostkey

而ssh2_config 文件一般情形下无需修改。


三、启动sshd2

每个要使用SSH的系统都必须在后台运行sshd2。用手工启动:

# /usr/local/bin/sshd2&

可以在“/etc/rc2.d/S99local”中加入该命令,这样系统每次启动时会自动启动sshd2。


四、用tcp_wrappers控制SSH

安装SSH的站点可以用tcp_wrappers来限制哪些IP地址可以通过ssh来访问自己。比如,在/etc/hosts.allow中加入

sshd,sshd2: 10.0.0.1

那么只有10.0.0.1可以通过ssh来访问该主机。


以上都是系统管理员完成的工作。下面我们说说普通用户如何使用SSH。


五、基本应用

每个用户在使用SSH之前,都要完成以下步骤:


在本地主机(比如,local.pku.edu.cn)上生成自己的ssh公钥和私钥。命令如下:

local# ssh-keygen

Generating 1024-bit dsa key pair

1 oOo.oOo.o

Key generated.

1024-bit dsa, teng@ns, Fri Oct 20 2000 17:27:05

Passphrase :************ /*在此输入你的口令,以后访问这台主机时要用。

Again :************ /*

Private key saved to /home1/teng/.ssh2/id_dsa_1024_a

Public key saved to /home1/teng/.ssh2/id_dsa_1024_a.pub


生成的私钥和公钥(id_dsa_1024_a和id_dsa_1024_a.pub)存放在你家目录的~/.ssh2目录下。和用户相关的SSH配置文件都在~/.ssh2下。私钥由用户保存在本地主机上,而公钥需传送到远地主机的你自己的帐号的~/.ssh2下,如果你要用ssh2访问本地主机的话。


在~/.ssh2下创建“identification”文件用来说明进行身份认证的私钥。命令如下:


local:~/.ssh2# echo "IdKey id_dsa_1024_a" > identification


3.同样地,在远地主机(比如,remote.pku.edu.cn)上完成上面步骤。

4.将本地(local.pku.edu.cn)下你自己(这里是“teng”)的公钥(id_dsa_1024_a.pub)拷贝到远地主机(remote.pku.edu.cn)上你自己家目录下的.ssh2目录下,可命名为“local.pub”,一般用ftp上传即可。


在远地主机上,你自己家目录的.ssh2目录下,创建“authorization”文件,其中指定用来进行身份认证的公钥文件。命令如下:

remote:~/.ssh2# echo “Key local.pub” > authorization


现在你可以从本地用ssh2登录到远地系统了。命令如下:

local# ssh remote.pku.edu.cn

Passphrase for key "/home1/teng/.ssh2/id_dsa_1024_a" with comment "1024-bit dsa,

teng@ns, Fri Oct 20 2000 17:27:05":***********


这时会要你输入你的ssh口令(Passphrase)。验证通过后,即登录到remote主机上。


### SSH 使用指南 SSH(Secure Shell)是一种用于安全远程访问的协议,广泛应用于通过网络连接和管理远程服务器。以下是关于 SSH使用教程,涵盖基本使用方法、配置过程以及常见功能。 #### 1. SSH 基本使用方法 在 Linux 系统中,SSH 是一种常用的远程连接协议,允许用户从本地计算机安全地连接到远程服务器[^1]。以下是 SSH 的基本使用方法: - **建立 SSH 连接** 使用以下命令可以连接到远程服务器: ```bash ssh username@remote_host ``` 其中 `username` 是远程服务器上的用户名,`remote_host` 是服务器的 IP 地址或域名[^2]。 - **指定端口号** 如果服务器使用非默认的 22 端口,可以通过 `-p` 参数指定端口号: ```bash ssh -p port_number username@remote_host ``` #### 2. 配置 SSH 服务 为了增强安全性,可以对 SSH 服务进行一些配置调整。例如,允许或禁止 root 用户通过 SSH 登录: - **编辑 SSH 配置文件** 编辑 `/etc/ssh/sshd_config` 文件以修改相关设置: ```bash sudo nano /etc/ssh/sshd_config ``` - **允许 root 登录** 将 `PermitRootLogin` 设置为 `yes` 或 `without-password`(推荐使用密钥认证)[^1]。 - **重启 SSH 服务** 修改完成后,重启 SSH 服务以应用更改: ```bash sudo systemctl restart sshd ``` #### 3. 查看 SSH 服务状态 可以通过以下命令查看 SSH 服务的状态: ```bash sudo systemctl status sshd ``` 如果服务未运行,可以使用以下命令启动它: ```bash sudo systemctl start sshd ``` #### 4. SSH 密钥认证 为了提高安全性,建议使用 SSH 密钥认证替代密码登录: - **生成 SSH 密钥对** 使用以下命令生成密钥对: ```bash ssh-keygen -t rsa -b 4096 ``` - **上传公钥到服务器** 可以使用 `ssh-copy-id` 工具将公钥上传到服务器: ```bash ssh-copy-id username@remote_host ``` 或者手动将公钥内容复制到服务器的 `~/.ssh/authorized_keys` 文件中,并确保权限正确: ```bash chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys ``` #### 5. 测试 SSH 连接 完成配置后,可以通过以下命令测试 SSH 连接是否成功: ```bash ssh -T git@github.com ``` 此命令通常用于测试与 GitHub 的连接[^4]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值