Chinaunix首页 | 论坛 | 博客
  • 博客访问: 423876
  • 博文数量: 158
  • 博客积分: 1855
  • 博客等级: 上尉
  • 技术积分: 1888
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-18 14:19
文章分类

全部博文(158)

文章存档

2013年(4)

2012年(16)

2011年(10)

2010年(40)

2009年(61)

2008年(33)

SSH

分类:

2008-10-30 15:59:22

一、OpenSSH的典型用户登录
在linux中使用ssh命令可以登录SSH服务器,命令格式如下:
ssh 表示需要登录到的SSH服务器主机地址,可以是主机名也可以是主机的IP;username是用于登录SSH服务器的用户账号)
# ssh
二、设置SSH基于密钥的用户登录
下面以实例说明SSH密钥认证的操作过程,在实例中SSH客户主机中的用户mike需要远程登录到SSH服务器,并以SSH服务器主机中的管理员用户root的身份进行系统管理工作。
1、在SSH客户端生成公钥和私钥对
#useradd mike
#su - mike
$ssh-keygen -t rsa
ssh-keygen命令执行完毕后会在用户宿主目录的.ssh目录中生成两个文件,其中id_rsa是用户的私钥文件,id_rsa.pub是用户的公钥文件,这两个文件是通过ssh-keygen命令一次生成,并且需要配对使用。
2、将SSH客户的公钥添加到SSH服务器中用户的认证文件中
上一步骤中SSH客户机用户mike生成的公钥文件需要复制到SSH服务器主机中root用户的目录中。在SSH服务器中使用root用户账号,将已复制的id_rsa.pub的内容拷贝到.ssh目录下,重命名文件名为authorized_keys.
3、验证密钥的认证
$ssh
 
三、禁止root用户的SSH登录
由于SSH采用密文传输方式,因此默认允许root用户直接进行SSH登录,出于安全的需要也可以设置禁止root用户直接进行SSH登录。
在sshd_config(SSH服务器的配置文件,ssh_config为SSH客户机的配置文件)配置文件中添加配置行PermitRootLogin no将禁止root用户直接进行SSH登录。
#vi /etc/ssh/sshd_config
//加入下面设置行
PermitRootLogin no
#service sshd restart
再次从客户端使用ssh命令登录SSH服务器时,服务器将拒绝root用户登录,即使登录用户能够提供root用户的正确口令。
当root用户被禁止进行SSH登录时,为了实现对LINUX系统进行远程管理的目的,可以先使用普通用户账号进行SSH登录,需要执行管理任务时再使用su - root命令从普通用户转换为root用户。
 
四、OpenSSH的基本应用
1、ssh客户端命令的使用:(1)如上面;(2)通过SSH登录运行服务器中的窗口程序ssh -X
2、sftp命令的使用(sftp是ftp的安全替代品)
(1)确认SSH服务器中的sftp支持
sftp文件传输是作为SSH服务器的子系统存在的,因此在使用sftp命令连接SSH服务器之前需要先确认sshd_config文件中包括sftp子系统的配置。
#grep sftp /etc/ssh/sshd_config
(2)使用sftp命令传输文件(与ssh命令格式相似)
#sftp
3、scp命令的使用
scp命令作为rcp命令的安全替代品出现的。scp命令可以通过命令行的方式在本地和远程主机之间复制文件。
例如将过程主机192.168.1.4中的passwd文件复制到当前目录,可以使用以下命令:
#scp   .
scp命令的格式与cp命令比较类似,需要有复制的源文件和目的文件,源文件和目的文件中要有一个是远程SSH服务器中的文件。
将本地文件test复制到服务器192.168.1.4中mike用户的宿主目录中的命令如下:
#scp test :~
在使用scp命令时,无论是哪个方向的文件复制,都需要在命令执行过程中按照提示输入SSH服务器中用户账号对应的口令,口令输入正确后才可以正确复制文件。
 
 
 
 
 
阅读(1352) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~