户机连接到 OpenSSH 服务器上,你必须在客户机器上装有 openssh-clients 和 openssh 软件包。
3.1. 使用 ssh 命令 ssh 命令是 rlogin、rsh 和 telnet 命令的安全替换。它允许你在远程机器上登录并在其上执行命令。 使用 ssh 来登录到远程机器和使用 telnet 相似。要登录到一个叫做 penguin.example.net 的远程机器,在 shell 提示下键入下面的命令: ssh penguin.example.net 第一次使用 ssh 在远程机器上登录时,你会看到和下面相仿的消息: The authenticity of host penguin.example.net cant be established. DSA key fingerprint is 94:68:3a:3a:bc:f3:9a:9b:01:5d:b3:07:38:e2:11:0c. Are you sure you want to continue connecting (yes/no)? 键入 yes 来继续。这会把该服务器添加到你的已知主机的列表中,如下面的消息所示: Warning: Permanently added penguin.example.net (RSA) to the list of known hosts. 下一步,你会看到向你询问远程主机口令的提示。在输入口令后,你就会在远程主机的 shell 提示下了。如果你没有指定用户名,你在本地客户机器上登录用的用户名就会被传递给远程机器。如果你想指定不同的用户名,使用下面的命令: ssh username@penguin.example.net 你还可以使用 ssh -l username penguin.example.net。 ssh 命令可以用来在远程机器上不经 shell 提示登录而执行命令。它的语法格式是: ssh hostname command。譬如,如果你想在远程主机 penguin.example.net 上执行 ls /usr/share/doc 命令,在 shell 提示下键入下面的命令: ssh penguin.example.net ls /usr/share/doc 在你输入了正确的口令之后, /usr/share/doc 这个远程目录中的内容就会被显示,然后你就会被返回到你的本地 shell 提示下。
3.2. 使用 scp 命令 scp 命令可以用来通过安全、加密的连接在机器间传输文件。它与 rcp 相似。 把本地文件传输给远程系统的一般语法是: scp localfile username@tohostname:/newfilename localfile 指定源文件,username@tohostname:/newfilename 指定目标文件。 要把本地文件 shadowman 传送到你在 penguin.example.net 上的账号内,在 shell 提示下键入(把 username 替换成你的用户名): scp shadowman username@penguin.example.net:/home/username 这会把本地文件 shadowman 传输给 penguin.example.net 上的 /home/username/shadowman 文件。 把远程文件传输给本地系统的一般语法是: scp username@tohostname:/remotefile /newlocalfile remotefile 指定源文件,newlocalfile 指定目标文件。 源文件可以由多个文件组成。譬如,要把目录 /downloads 的内容传输到远程机器 penguin.example.net 上现存的 uploads 目录,在 shell 提示下键入下列命令: scp /downloads/* username@penguin.example.net:/uploads/
3.3. 使用 sftp 命令 sftp 工具可以用来打开一次安全互动的 FTP 会话。它与 ftp 相似, 只不过,它使用安全、加密的连接。它的一般语法是:sftp username@hostname.com。一旦通过 验证,你可以使用一组和使用 FTP 相似的命令。请参阅 sftp 的说明书页(man)来获取这些 命令的列表。要阅读说明书页,在 shell 提示下执行 man sftp 命令。sftp 工具只在 OpenSSH 版本 2.5.0p1 以上才有。
3.4. 生成钥匙对 如果你不想每次使用 ssh、scp 或 sftp 时都要输入口令来连接远程机器,你可以生成一对授权钥匙。 钥匙必须为每个用户生成。要为某用户生成钥匙,用想连接到远程机器的用户身份来遵循下面的步骤。如果你用根用户的身份完成了下列步骤,就只有根用户才能使用这对钥匙。 从 OpenSSH 版本 3.0 开始,~/.ssh/authorized_keys2、~/.ssh/known_hosts2 和 /etc/ssh_known_hosts2 就会过时。SSH 协议 1 和 2 共享 ~/.ssh/authorized_keys、~/.ssh/known_hosts 和 /etc/ssh/ssh_known_hosts 文件。 Red Hat Linux 9 默认使用 SSH 协议 2 和 RSA 钥匙。 窍门 如果你重装了 Red Hat Linux,但是想保留现有的钥匙对,备份你的主目录中的 .ssh 目录。重装后,把该目录复制回主目录。该进程可为系统上的所有用户进行,包括根用户。
3.4.1. 为版本 2 生成 RSA 钥匙对 使用下列步骤来为 SSH 协议的版本 2 生成 RSA 钥匙对。从 OpenSSH 2.9 开始,它已成为默认设置。 1. 要生成 RSA 钥匙对与协议的版本 2 合作,在 shell 提示下键入下列命令: ssh-keygen -t rsa 接受 ~/.ssh/id_rsa 的默认位置。输入一个与你的帐号口令不同的口令句,再输入一次来确认。 公钥被写入 ~/.ssh/id_rsa.pub。密钥被写入 ~/.ssh/id_rsa。决不能把密钥出示给任何人。 2. 使用 chmod 755 ~/.ssh 命令改变你的 .ssh 目录的许可权限。 3. 把 ~/.ssh/id_rsa.pub 的内容复制到你想连接的机器上的 ~/.ssh/authorized_keys 文件中。如果 ~/.ssh/authorized_keys 不存在,你可以把 ~/.ssh/id_rsa.pub 文件复制到那个机器上的 ~/.ssh/authorized_keys 文件中。 4. 如果你运行的是 GNOME,跳到第 3.4.4 节。如果你没在运行 X 窗口系统,跳到第 3.4.5 节。
3.4.2. 为版本 2 生成 DSA 钥匙对 使用下面的步骤来为 SSH 协议的版本 2 生成 DSA 钥匙对。 1. 要生成用于协议的版本 2 的 DSA 钥匙对,在 shell 提示下键入下面的命令: ssh-keygen -t dsa 接受 ~/.ssh/id_dsa 的默认位置。输入一个与你的帐号口令不同的口令句,再输入一次来确认。 窍门 口令句是用来验证用户的一串词汇和字符。 口令句和一般口令的不同之处在于:在口令句中你可以使用空格或制表符。口令句通常比一般口令长,因为它们通常使用短语而不仅仅用一个词。 公钥被写入 ~/.ssh/id_dsa.pub。密钥被写入 ~/.ssh/id_dsa。决不能把密钥出示给任何人,这一点很重要。 2. 使用 chmod 755 ~/.ssh 命令改变你的 .ssh 目录的许可权限。 3. 把 ~/.ssh/id_dsa.pub 的内容复制到你想连接的机器中的 ~/.ssh/authorized_keys 文件中。如果文件 ~/.ssh/authorized_keys 不存在,你可以把 ~/.ssh/id_dsa.pub 文件复制到那个机器上的 ~/.ssh/authorized_keys文件中。 4. 如果你运行的是 GNOME,跳到第 3.4.4 节。如果你没在运行 X 窗口系统,跳到 第 3.4.5 节。
3.4.3. 为版本 1.3 和 1.5 生成 DSA 钥匙对 使用下面的步骤来生成用于 SSH 协议版本 1 的 RSA 钥匙对。如果你只在使用 DSA 的系统间连接,则不需要 RSA 版本 1.3 或 RSA 版本 1.5 钥匙对。 1. 要生成 RSA (版本 1.3 和 1.5 协议)钥匙对,在 shell 提示下键入下列命令: ssh-keygen -t rsa1 接受默认的位置 (~/.ssh/identity)。输入和你的帐号口令不同的口令句。再输入一次来确认。 公钥被写入 ~/.ssh/identity.pub。密钥被写入 ~/.ssh/identity。不要把你的密钥出示给任何人。 2. 使用 chmod 755 ~/.ssh 和 chmod 644 ~/.ssh/identity.pub 命令改变你的 .ssh 目录和密钥的许可权限。 3. 把 ~/.ssh/identity.pub 的内容复制到你想连接的机器中的 ~/.ssh/authorized_keys 文件中。如果文件 ~/.ssh/authorized_keys 不存在,你可以把 ~/.ssh/identity.pub 文件复制到远程机器上的 ~/.ssh/authorized_keys 文件中。 4. 如果你运行的是 GNOME,跳到第 3.4.4 节。如果你没在运行 GNOME, 跳到第 3.4.5 节。
3.4.4. 在 GNOME 中配置 ssh-agent ssh-agent 工具可以用来保存你的口令句,因此你不必在每次引发 ssh 或 scp 连接时都输入口令。如果你在使用 GNOME,openssh-askpass-gnome 工具可以用来在你登录到 GNOME 时提示你输入口令句,并把它一直保留到你从 GNOME 中注销之时。你不必为本次 GNOME 会话中任何 ssh 或 scp 连接输入口令或口令句。如果你不打算使用 GNOME,请参阅第 3.4.5 节。 要在 GNOME 会话中保存口令句,遵循下列步骤: 1. 你需要安装 openssh-askpass-gnome 软件包;你可以使用 rpm -q openssh-askpass-gnome 命令来判定该软件包是否已被安装。如果它没有被安装,从你的 Red Hat Linux 光盘集合、Red Hat FTP 镜像站点、或使用 Red Hat 网络 来安装它。 2. 点击「主菜单」(在面板上)=> 「首选项」 => 「更多首选项」 => 「会话」。然后点击「启动程序」标签。点击「增加」,在「启动命令」文本字段内输入 /usr/bin/ssh-add。把它的优先级设为比任何现存命令都高的数字以确保它最后才执行。ssh-add 的优先级数字最好是 70 或更高。优先级数字越高,优先级越低。如果你列出了其它程序,该程序的优先级应该最低。点击「关闭」来退出该程序。 3. 注销后再登录进 GNOME;换一句话说,重新启动 X 服务器。在 GNOME 启动后,一个提示你输入口令句的对话框就会出现。输入要求的口令句。如果你把 DSA 和 RSA 两者都配置了,你会被提示两者都输入。从现在起,你就不会被 ssh、 scp 或 sftp 提示输入口令了。
3.4.5. 配置 ssh-agent ssh-agent 可以用来储存你的口令句,因此你在每次使用 ssh 或 scp 连接时就不必总是输入它。如果你不在运行 X 窗口系统,则在 shell 提示中遵循这些步骤。如果你在运行 GNOME,但是不想配置它来在你登录时提示你输入口令(参阅第 3.4.4 节),这个过程可以在类似 xterm 的终端窗口中进行。如果你在运行 X 却不是 GNOME,这个过程可以在终端中进行。可是,你的口令只能在该终端窗口中被记住,它不是全局设置。 1. 在 shell 提示下,键入下面的命令: exec /usr/bin/ssh-agent $SHELL 2. 然后,键入下面的命令: ssh-add 接着,输入你的口令。如果你配置了不止一个钥匙对,你会被提示输入每个口令。 3. 当你注销后,口令句就会被忘记。你必须在每次登录到虚拟控制台或打开终端窗口时都执行这两条命令。
4. 其它资料 OpenSSH 和 OpenSSL 工程处于不断地开发中,因此关于它们的最新信息通常位于它们的官方网站中。OpenSSH 和 OpenSSL 工具的说明书(man)页也是个获取详细信息的好地方。
4.1. 安装了的文档 * ssh、scp、sftp、sshd 和 ssh-keygen 的说明书(man)页 — 关于它们的说明书页包括如何使用这些命令的信息,以及所有能与它们一起使用的参数。
4.2. 有用的网站 * http://www.openssh.com — OpenSSH FAQ 网页、错误报告、邮件列表、工程宗旨、以及关于安全功能的更技术性的解释。 * http://www.openssl.org — OpenSSL FAQ 网页、邮件列表、以及对于工程宗旨的描述。 * http://www.freessh.org — 用于其它平台的 SSH 客户软件。
kingpaul @ 04:02 PM 发表于 linux | 编辑 | 留言 (0) | TrackBack (0)
linux指令大全
http://www.ebcom.cn/news/main/home/ns_detail.php?id=232&nowmenuid=6&cpath=0048:&catid=48
名称:cat 使用权限:所有使用者 使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName 说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案) 参数: -n 或 --number 由 1 开始对所有输出的行数编号 -b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号 -s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行 -v 或 --show-nonprinting
范例: cat -n textfile1 > textfile2 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里 cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3
名称 : cd 使用权限 : 所有使用者
使用方式 : cd [dirName]
说明 : 变换工作目录至 dirName。 其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home directory (也就是刚 login 时所在的目录)。
另外,"~" 也表示为 home directory 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。
范例 : 跳到 /usr/bin/ : cd /usr/bin
跳到自己的 home directory : cd ~
跳到目前目录的上上两层 : cd ../..
指令名称 : chmod 使用权限 : 所有使用者
使用方式 : chmod [-cfvR] [--help] [--version] mode file...
说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。
把计 :
mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。 + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。 r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。 -c : 若该档案权限确实已经更改,才显示其更改动作 -f : 若该档案权限无法被更改也不要显示错误讯息 -v : 显示权限变更的详细资料 -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更) --help : 显示辅助说明 --version : 显示版本
范例 :将档案 file1.txt 设为所有人皆可读取 : chmod ugo+r file1.txt
将档案 file1.txt 设为所有人皆可读取 : chmod a+r file1.txt
将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 : chmod ug+w,o-w file1.txt file2.txt
将 ex1.py 设定为只有该档案拥有者可以执行 : chmod u+x ex1.py
将目前目录下的所有档案与子目录皆设为任何人可读取 : chmod -R a+r *
此外chmod也可以用数字来表示权限如 chmod 777 file 语法为:chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1 若要rwx属性则4+2+1=7; 若要rw-属性则4+2=6; 若要r-x属性则4+1=7。
范例: chmod a=rwx file
和 chmod 777 file
效果相同 chmod ug=rwx,o=x file
和 chmod 771 file
效果相同
若用chmod 4755 filename可使此程式具有root的权限
指令名称 : chown 使用权限 : root
使用方式 : chmod [-cfhvR] [--help] [--version] user[:group] file...
说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。
把计 :
user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group)-c : 若该档案拥有者确实已经更改,才显示其更改动作-f : 若该档案拥有者无法被更改也不要显示错误讯息-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案-v : 显示拥有者变更的详细资料-R : 对目前目录下的所有 << 上一页 [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] ... 下一页 >> 没有相关教程
|