显示标签为“ssh”的博文。显示所有博文
显示标签为“ssh”的博文。显示所有博文

2015-04-23

putty 小技巧

需要测试一台远程机器的某个端口是否可访问时常用telnet工具。不过在windows 7上有时这个工具默认没有安装。这时可借助putty来完成,格式为:
putty.exe [-ssh | -telnet | -rlogin | -raw] [user@]host

例子:
测试一个端口
putty.exe -telnet 192.177.71.132 1521

命令行建立一个连接
使用密码登录
putty.exe -ssh d.jia@10.35.204.253 -P 2211 -pw mypassword
putty.exe -ssh d.jia@10.35.204.253 2211 -pw mypassword

使用private key登录
putty.exe -ssh d.jia@10.35.204.253 2211 -i path/to/privateKey.ppk


端口转发,forward local port to remote destination
putty.exe -ssh d.jia@10.35.204.253 2211 -i path/to/privateKey.ppk  -L 6389:remoteServer:3389

命令行加载一个保存的连接
putty.exe -load "session name"


2009-07-04

无法启动windows上的cygwin sshd

升级完cygwin后,用putty就无法连接本地的ssh server了。查看windows下面的service,CYGWIN sshd根本没有启动。手动点击启动仍然无法启动,执行命令/usr/sbin/sshd 也无法启动,得到错误提示:

/var/empty must be owned by root and not group or world-writable.

执行/usr/sbin/sshd -D -d -d -d得到更详尽的信息:

$ /usr/sbin/sshd -D -d -d -d
debug2: load_server_config: filename /etc/sshd_config
debug2: load_server_config: done config len = 196
debug2: parse_server_config: config /etc/sshd_config len 196
debug3: /etc/sshd_config:13 setting Port 22
debug3: /etc/sshd_config:38 setting StrictModes no
debug3: /etc/sshd_config:92 setting UsePrivilegeSeparation yes
debug3: /etc/sshd_config:106 setting Subsystem sftp /usr/sbin/sftp-server
debug1: sshd version OpenSSH_5.1p1
debug1: private host key: #0 type 0 RSA1
debug3: Not a RSA1 key file /etc/ssh_host_rsa_key.
debug1: read PEM private key done: type RSA
debug1: private host key: #1 type 1 RSA
debug3: Not a RSA1 key file /etc/ssh_host_dsa_key.
debug1: read PEM private key done: type DSA
debug1: private host key: #2 type 2 DSA
/var/empty must be owned by root and not group or world-writable.

记得以前的版本中var目录在cygwin的安装目录下,现在var目录被自动创建到了C:\var下。

试着在var下创建了empty目录并修改其权限,仍然不能启动。最后重新启动cygwin安装程序,在Install for选项中选择for all,在组件中选择reinstall cygwin,cygrunserv, openssh,安装完毕后马上就可以启动ssh服务了!

Update: 在台式机上遇到同样的问题,这次与在笔记本上不同。不能启动windows里的服务,但却能够在命令行下启动sshd,并且能登陆。采用上面的办法重装后仍然不见效果。重新运行ssh-host-config后sshd.log仍然出现

/var/empty must be owned by root and not group or world-writable.

执行:$ chown SYSTEM empty

jia@swhtw78190 /cygdrive/e/cygwin/var
$ ls -al empty/
total 0
drwxr-xr-x+ 2 SYSTEM Benutzer 0 Jul 7 12:36 .
drwxrwxrwx+ 8 jia Benutzer 0 Jul 7 12:36 ..

jia@swhtw78190 /cygdrive/e/cygwin/var
$ net start sshd
CYGWIN sshd wird gestartet.
CYGWIN sshd wurde erfolgreich gestartet.

估计是ssh-host-config程序没有正确设置/var/empty目录的owner。

2007-06-29

Ubuntu 7.04下的know_hosts

Ubuntu 7.04下的位于~/.ssh/的文件know_hosts与原来的版本和其他的GNU/Linux发行版本有所不同了。以前的版本能够看出一台远程主机对应的钥值。每一行为一个主机的标识值,分别是:
主机名 IP地址 钥匙类型 钥值
如:
urts96,136.199.199.96 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAwZMisKXEF2poSc WEujP+YLWKl53p80SpOVyp/h3UVxeAVHkLP0s1NkiW5mRlN4prUpxK5UuZ7yd5u9uc/2qMvK 38S2hC4P/aYki7rM8L+fHQPnjiLe+J0j/UfSvUjjPyOeXuSokWWHN8aatvlJQavvZOC36Hd8 In/NtwpzganJc=
当一台server重新装操作系统有新的钥匙值之后,从原来保存有旧的钥匙值的主机上登录这台server时,就会得到警告提示:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
dd:c4:44:74:80:f7:6b:99:4d:f1:c4:cd:df:65:3a:73.
Please contact your system administrator.
Add correct host key in /home/jiad4701/.ssh/known_hosts to get rid of this message.
Offending key in /home/jiad4701/.ssh/known_hosts:9
RSA host key for germa93 has changed and you have requested strict checking.
Host key verification failed.
lost connection
以前我的解决办法是在客户端的know_hosts文件中删除server对应的钥值。可是如果你的客户端是Ubuntu 7.04,你不能从这个文件中分辨出你要登录的server的钥值在第几行,只能全部删除文件里面的内容。

2005-07-15

使用publickey based authentication的注意事项

前两天一直很郁闷,在同一台主机上的两个账户,一个能使用publickey based authentication方式登陆,另一个却死活都不能,在论坛求助没有得到解答。后来在网上才看到:

另外有一點要注意的是,使用者的 $HOME 目錄不可以有非本身的 w 權限,否則 ssh 伺服器將禁止該使用者進行 RSA authentication。所以 $HOME 目錄的權限不可以高於 755。

2005-02-04

使用ssh登陆不用密码

经常从germa63登陆到germa83那台机器,每次都要输入密码,实在是有点麻烦。参看了IBM developerworks的文章,使用public key的方式来验证登陆,安全又方便值得推荐。

1. 首先登陆到germa83上用 germa83:~>ssh-keygen -t dsa 生成密钥,

2. scp id_dsa.pub root@germa63: ,即将公钥拷贝到germa63上,然后在germa63上把公钥添加到authorized_keys文件中
cat germa83.pub >> .ssh/authorized_keys

3. 在germa63上以root身份安装keychain,并修改 .profile文件,添加下面两行
keychain id_dsa
. ~/.keychain/$HOSTNAME-sh