SSH使用总结

 昨晚搞明白了Github通信中SSH的作用,对SSH有简单的了解。今晚来研究一下SSH的使用。

(1)生成密码对
    在本地执行ssh-keygen就可以生成密码对:


$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hevake_lcj/.ssh/id_rsa): 若无特殊指定要求,直接ENTER就行
Enter passphrase (empty for no passphrase): 输入密码短语,随便什么都行,以ENTER结束
Enter same passphrase again: 再输一遍,别输错了,否则会提示重输。
Your identification has been saved in /home/hevake_lcj/.ssh/id_rsa.
Your public key has been saved in /home/hevake_lcj/.ssh/id_rsa.pub.
The key fingerprint is:
5c:1a:fd:43:92:25:ae:94:44:9a:11:b8:ba:cb:ce:89 hevake_lcj@CentOS-6.3-i386
The key's randomart image is:
+--[ RSA 2048]----+
|     .ooo . .    |
|    .  = + +     |
|     .o + * .    |
|    .  o = +     |
|   .    S   o    |
|  .          .   |
|   .             |
| +..             |
|E.*.             |
+-----------------+
成功了

    在~/.ssh/ 目录下就会有两个文件,分别为:id_rsa, id_rsa.pub。前者为私钥文件,后者为公钥文件。

    密码对生成完成!

    在本地,将生成的私钥指定到ssh。也就是告SSH私钥在这个文件里:


$ ssh-add ~/.ssh/id_rsa
Identity added: /home/hevake_lcj/.ssh/id_rsa (/home/hevake_lcj/.ssh/id_rsa)

    将id_rsa.pub文件中的密文追加到服务器的 ~/.ssh/authorized_keys文件中。如果没有这个文件或~/.ssh目录就创建。     ~/.ssh/authorized_keys文本文件中,每一行记录一个公钥。每个公钥密文很长,但千万不能给它换行。


chmod 644 ~/.ssh/authorized_keys

    必须关闭其它帐户对该文件的改权限,否则sshd不工作。

(3)配置服务器
    SSH的服务程序是sshd。SSH服务器的配置使用的是"/etc/ssh/sshd_config"配置文件,这些选项的设置在配置文件中已经有了一些说明而且用"man sshd"也可以查看帮助。
    好像也不需要什么配置。由于前面修改了~/.ssh/authorized_keys文件,所以要重启一下sshd服务才生效:


$ sudo service sshd restart
停止 sshd:                                                [确定]
正在启动 sshd:                                             [确定]


(4)配置客户端
    配置完服务器后就可以在客户端登陆了。初始登陆会弹一个什么estribute什么的,问我们是(yes/no),输入yes继续。然后就会让我们输入passphrase,如果输入正确就成功连接。可以直接按ENTER跳过,验证帐户的登陆密码:


$ ssh 172.16.252.137 -l hevake_lcj
Enter passphrase for key '/home/hevake/.ssh/id_rsa':  输入密码短语或是直接ENTER跳过
hevake_lcj@172.16.252.137's password:  输入hevake_lcj帐户的登陆密码
Last login: Wed Apr 24 21:57:40 2013 from 172.16.252.1
[hevake_lcj@CentOS-6 ~]$  成功登陆

    OpenSSH 有三种配置方式:命令行参数、用户配置文件和系统级的配置文件("/etc/ssh/ssh_config")。命令行参数优先于配置文件,用户配置文件 优先于系统配置文件。所有的命令行的参数都能在配置文件中设置。因为在安装的时候没有默认的用户配置文件,所以要把 "/etc/ssh/ssh_config"拷贝并重新命名为"~/.ssh/config"。 也可以新建这个文件,但一定要注意文件的权限,不能让其它用户有写权限。
    但如果你觉得这么做比较麻烦,也可以将IP地址与帐户追加到~/.ssh/config配置文件中 :


Host host1
HostName 172.16.252.137
User hevake_lcj

Host host2
HostName 192.168.1.103
User lichunjun

    我们输入命令 "ssh host1" ssh就会去~/.ssh/config文件中找到host1这个Host对象,并加载IP地址与登陆帐户。同样"ssh host2"也是一样的。

    ~/.ssh/config还有很多其它配置,详请执行 man ssh 可以找到相关的说明。

(5)其它
    公认的登陆命令格式: ssh -i ~/.ssh/<PrivateKeyFileName> <username>@<remote IP>


ssh hevake_lcj@172.16.252.137
时间: 2024-10-28 12:24:28

SSH使用总结的相关文章

使用Putty的Telnet及SSH功能进行相关工作

说实话,我不习惯命令行的操作.但是有些工作必须要使用命令行才能完成操作.比如公司的网络设备,都是通过命令行. 唉,没有办法只能去适应了.先来说说Telnet吧.以前我认为Telnet因为是明文的方式进行传输,在实际工作中使用的比较少.但是目前看来我错了,而且错的很离谱呢. 公司很多的管理都是通过Telnet进行的. 除此之外,还有SSH.这个我还是知道的.相对于Telnet来说,SSH还是很安全的. 平时使用Telnet时,要么是使用本机自带的Telnet客户端.操作起来还行,但是前提是本机一定

ssh、selinux、防火墙等启动与停止命令

ssh服务的启动与停止 1.查看是否安装ssh  rpm -qa | grep openssh  显示结果中包含openssh-server-*,则说明已经安装,直接启动  2.启动/状态/停止service sshd start/status/stop                  /etc/rc.d/init.d/sshd start  3.启动/状态/关闭防火墙:service  iptables start/status/stop                        /et

SSH远程连接时环境变量问题

1. 问题 RHEL服务器A有个启动脚本(普通用户user01运行),里面使用ifconfig获取ip地址如下: Localhost_ip=$(ifconfig |awk -F 'addr:|Bcast' '/Bcast/{print $2}') 由于普通用户user01不能直接识别ifconfig命令,只能使用全路径/sbin/ifconfig,目前处理方式为修改~/.bash_profile文件添加环境变量如下: PATH=$PATH:$HOME/bin 改成如下: PATH=$PATH:$

如何防止Oracle用户远程SSH登录

为了防止Oracle用户远程SSH登录,今天用vipw把passwd文件修改了一下,在Oracle用户的结尾添加了::/sbin/nologin 测试发现的确可以禁止用户的ssh登录,但在任意方式登录后切换到Oracle用户后都会报以下错误: [root@LinuxTest ~]# su - oracle su: /bin/bash:/sbin/nologin: No such file or directory 最后只好利用PAM论证方式解决了禁止登录的问题,操作如下: vi /etc/pam

java实现ssh协议远程通过中间服务器连接跳转第三方服务器

问题描述 java实现ssh协议远程通过中间服务器连接跳转第三方服务器 java实现ssh协议远程通过中间服务器连接跳转第三方服务器,目前只能连接到中间服务器 ,但是连接第三方服务器怎么实现 求解

server-windows服务器上ssh vpn搭建与配置

问题描述 windows服务器上ssh vpn搭建与配置 windows 2008 R2,VPN服务器已经建好,如何应用SSH服务,使得其他用户可通过SSH客户端登陆,并且还有SSH的具体设置,谢谢. 解决方案 Windows上SSH服务器的配置以及客户端的连接

jbpm4.4整合SSH 在tomcat中启动后控制台一直查询JBPM4_JOB表

问题描述 jbpm4.4整合SSH 在tomcat中启动后控制台一直查询JBPM4_JOB表 jbpm4.4整合SSH 在tomcat中启动后控制台一直查询JBPM4__JOB表,_这是正常现象吗,应该这么解决呢????求解答 解决方案 http://download.csdn.net/detail/freedomky/4300308 是不是有业务需要重复执行. 解决方案二: 不会呀 我只整合好了SSH还没什么都没做呢 知识启动了tomcat 我的applicationContext.xml:

ssh中form向后台传值为null

问题描述 ssh中form向后台传值为null jsp中form部分如下 用户名: 密码: 搜索: 下面这个表传回后台的值为空Hibernate: select song0_.sid as sid3_ song0_.location as location3_ song0_.songname as songname3_ from Song song0_ where song0_.songname like '%null%' 这是查询语句public List findByName(String

设置Bitvise Ssh Client为Windows服务

设置Bitvise Ssh Client为Windows服务 Bitvise SSH Client就是原来的Bitvise Tunnelier,是一款功能丰富的 SSH 客户端,用来远程管理 Linux 系统,除了支持比较重要的动态端口转发外,还支持多帐号登录,图形界面的 SFTP,远程桌面等. 现在需要使用NSSM将其变为Windows服务.整理的相关脚本如下: 新建bat文件并运行,内容如下: "C:Program Files (x86)Bitvise SSH Clientnssm.exe&

eclipse搭建ssh后台

SSH框架是最常用的框架之一,在搭建SSH框架的时候总有人遇到这样,那样的问题.下面我介绍一下SSH框架搭建的全过程.  第一步:准备工作.    下载好eclipse,Struts2,Spring,Hibernate.    1.eclipse:eclipse下载的时候建议下载JavaEE版的eclipse.                  当然你也可以下载eclipse-SDK.(下载eclipse-SDK需要下载Web,Tomcat等plugins)    2.Struts2:http: